showing 1 - 50 of 73 gameschevron_right
name | publisher(developer) | year arrow_downward | description | |
---|---|---|---|---|
Bulls & Cleots | ? | ? | labelminimizeminimize | |
Camel | ? | ? | labelminimizeminimize | |
Eliza | ? | ? | labelminimizeminimize | |
Petals Around the Rose | ? | ? | [spoiler=show source code;hide source code]1 REM CLEAR SCREEN & VERT TAB 10 10 PRINT TAB( 6)"** PETALS AROUND THE ROSE **" 20 FOR ZZ = 1 TO 3000: NEXT 30 PRINT : PRINT : PRINT 40 PRINT "DO YOU WISH INSTRUCTIONS "; 50 INPUT A$ 60 IF LEFT$ (A$,1) = "N" THEN 140 70 PRINT 80 PRINT "THE NAME OF THE GAME IS 'PETALS AROUND" 90 PRINT "THE ROSE. THE NAME OF THE GAME IS" 95 PRINT "IMPORTANT. " 100 PRINT : PRINT "THE COMPUTER WILL ROLL FIVE DICE" 105 PRINT "AND ASK YOU FOR THE SCORE FOR THE" 110 PRINT "ROLL. THE SCORE WILL ALWAYS BE AN" 115 PRINT "EVEN NUMBER. GUESS 99 TO STOP PLAYING" 120 PRINT : PRINT " ** GOOD LUCK **" 125 PRINT : PRINT : PRINT : PRINT : INPUT "HIT RETURN TO CONTINUE";X$ 140 DIM L(7) 150 H = 0:G = 0:F = 0 155 REM CLEAR SCREEN & VERT TAB 10 180 FOR K = 1 TO 5 190 A = INT (12 * RND (8)) 200 GOSUB 720 210 F = 8 * F + C 220 G = 8 * G + D 230 H = H + B 240 NEXT K 250 PRINT : PRINT 270 FOR K = 1 TO 5 280 L(K) = F - 8 * INT (F / 8) 290 M = L(K) 300 GOSUB 590 310 F = INT (F / 8) 320 NEXT K 330 FOR K = 1 TO 5 340 M = G - 8 * INT (G / 8) 350 GOSUB 590 360 G = INT (G / 8) 370 NEXT K 380 H = H - 12 * INT (H / 12) 390 FOR K = 1 TO 5 400 IF (L(K) - 1) * (L(K) - 4) < > 0 THEN 420 410 L(K) = 5 - L(K) 420 M = L(K) 430 GOSUB 590 440 NEXT K 450 PRINT : PRINT 470 PRINT "GUESS THE SCORE"; 480 INPUT K 490 IF K = 99 THEN 1110 500 H = 2 * INT (H) 510 IF K = H THEN 570 515 PRINT 520 PRINT " NO,IT'S ";H; 530 IF K - 2 * INT (K / 2) = 0 THEN 550 540 PRINT " (THE SCORE IS ALWAYS EVEN) "; 545 FOR ZZ = 1 TO 2000: NEXT 550 PRINT 555 FOR ZZ = 1 TO 2000: NEXT 560 GOTO 150 570 PRINT : PRINT : PRINT TAB( 16)"...YES..." 575 FOR ZZ = 1 TO 2000: NEXT 580 GOTO 150 590 FOR N = 0 TO 2 600 IF M > 3 THEN 630 610 PRINT" "; 620 GOTO 650 630 M = M - 4 * INT (M / 4) 640 PRINT " O"; 650 M = 2 * M 660 NEXT N 670 IF K = 5 THEN 700 680 PRINT" "; 690 RETURN 700 PRINT 710 RETURN 720 B = 6 + RND (7) / 6 730 C = 0 740 D = 0 750 IF A > 3 THEN 890 760 B = B + 3 770 IF A > 1 THEN 810 780 D = D + 2 790 B = B + 3 800 RETURN 810 C = C + 1 820 B = B + 1 830 IF A > 2 THEN 780 840 B = B + 11 850 GOTO 790 860 C = C + 1 870 IF A > 2 THEN 790 880 GOTO 780 890 C = C + 4 900 B = B + 2 910 IF A > 5 THEN 970 920 B = B + 2 930 IF A < 5 THEN 950 940 GOTO 780 950 B = B + 11 960 GOTO 790 970 C = C + 1 980 B = B + 8 990 IF A > 6 THEN 1030 1000 D = D + 3 1010 B = B + 5 1020 GOTO 780 1030 IF A > 7 THEN 1070 1040 B = B + 5 1050 C = C + 1 1060 GOTO 860 1070 B = B + 7 1080 IF A < 10 THEN 780 1090 B = B + 10 1100 GOTO 790 1110 PRINT " THE SCORE WAS ";2 * INT (H) O 860 1070 B = B + 7 1080 IF A < 10 THEN 780 1090 B = B + 10 1100 GOTO 790 11[/spoiler]***THE NAME OF THE GAME IS 'PETALS AROUND THE ROSE. THE NAME OF THE GAME IS IMPORTANT. THE COMPUTER WILL ROLL FIVE DICE AND ASK YOU FOR THE SCORE FOR THE ROLL. THE SCORE WILL ALWAYS BE AN EVEN NUMBER. GUESS 99 TO STOP PLAYING ** GOOD LUCK ** | labelimagesubject |
SPACE WAR | ? | ? | For the HP2645 platform. 1 or 2 players. Requires a terminal capable of graphics display. [Zerothis] | labelminimizeminimize |
Bingo | Digital Equipment Computer Users' Society | 1966 | [media=youtube]N2acWKvg0oI[/media]***Very early BASIC game program. Ported from a Dartmouth style BASIC to Micro Color BASIC for the TRS-80 MC-10. Debugged ad updated with new game options to add to the challenge. BINGO can be played here: http://faculty.cbu.ca/jgerrie/MC10/ | labelimagesubject |
Baseball | Digital Equipment Computer Users' Society | 1967 | Source: https://www.mobygames.com/game/90784/baseball/ https://gamicus.fandom.com/wiki/1967_in_video_gaming http://pdp-10.trailing-edge.com/decuslib10-01/01/43,50110/baseba.gam.html***[media=youtube]8seaMrCwtTs[/media]***Baseball is a BASIC game that plays out the 1967 world series between the Red Sox and Cardinals. All the players are present and probabilities for their actions can be requested when asked to make a move. The game itself is mostly played by answering yes or no questions, or a base to perform an action with. Questions include whether to steal a base, or which base to throw a ball to. | labelminimizesubject |
Civil War | Lexington High School (author) | 1968 | Source: https://en.wikipedia.org/wiki/Early_mainframe_games https://www.mobygames.com/game/8703/civil-war/***[media=youtube]i00xDNSJt8I[/media]***Civil War is a war strategy simulation. You play as the confederacy in the American Civil War, and need to allocate funds and decide on a strategy to win as many battles as you can. Each turn will provide a brief overview of the battle, and allow you to allocate funds for food, salaries, and weapons as well as choose the offensive or defensive strategy you wish to use. The computer will then display the results of the battle which depend on the choices you make. The battles used in the game are actual battles from the war, and the computer will compare the results of the choices you made to the actual historical results. In both the original and the Creative Computing version it's also possible to play against another player instead of against historical results. | labelminimizesubject |
Qubic | Digital Equipment Computer Users' Society | 1968 | Program code: [spoiler=open;close] 100' NAME--QUBIC 110' 120' DESCRIPTION--PLAYS 3-DIMENSIONAL TIC TAC TOE. 130' 140' SOURCE--UNKNOWN 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW INSTRUCTIONS. 170' 180' 190' * * * * * * MAIN PROGRAM * * * * * * * * * * * 200' 210 PRINT "DO YOU WANT INSTRUCTIONS"; 220 INPUT C$ 230 IF C$="NO" THEN 320 240 IF C$="YES" THEN 270 250 PRINT "INCORRECT ANSWER. PLEASE TYPE 'YES' OR 'NO'"; 260 GOTO 220 270 PRINT "THE GAME IS TIC-TAC-TOE IN A 4 X 4 X 4 CUBE." 280 PRINT "EACH MOVE IS INDICATED BY A 3 DIGIT NUMBER, WITH EACH" 290 PRINT "DIGIT BETWEEN 1 AND 4 INCLUSIVE. THE DIGITS INDICATE THE" 300 PRINT "LEVEL, COLUMN, AND ROW, RESPECTIVELY, OF THE OCCUPIED PLACE." 310 DIM X(64),L(76),M(76,4),Y(16) 320 FOR I = 1 TO 16 330 READ Y(I) 340 NEXT I 350FOR I=1 TO 76 360FOR J = 1 TO 4 370 READM(I,J) 380 NEXT J 390 NEXT I 400 FOR I = 1 TO 64 410 LET X (I) =0 420 NEXT I 430 LET Z=1 440 PRINT "DO YOU WANT TO MOVE FIRST"; 450 INPUT S$ 460 IF S$="NO" THEN 630 470 IF S$="YES" THEN 500 480 PRINT "INCORRECT ANSWER. PLEASE TYPE 'YES' OR 'NO'."; 490 GOTO 450 500 PRINT " " 510 PRINT "YOUR MOVE"; 520INPUTJ1 530 GOSUB 2500 540 LETK1=INT(J1/100) 550 LET J2=(J1-K1*100) 560 LET K2=INT(J2/10) 570 LET K3= J1 - K1*100 -K2*10 580 LET M=16*K1+4*K2+K3-20 590 IF X(M)=0 THEN 620 600 PRINT "THAT SQUARE IS USED, TRY AGAIN" 610 GOTO 500 620 LET X(M)=1 630 GOSUB 1640 640 FOR J=1 TO 3 650 FOR I=1 TO 76 660 IF J=1 THEN 720 670 IF J=2 THEN 790 680 IF J=3 THEN 930 690 NEXT I 700 NEXTJ 710 GOTO 1300 720 IF L(I)<>4 THEN 690 730 PRINT "YOU WIN AS FOLLOWS"; 740 FOR J=1 TO 4 750 LET M=M(I,J) 760 GOSUB 1570 770 NEXT J 780 GOTO 1490 790 IF L(I)<>15 THEN 690 800 FOR J=1 TO 4 810 LET M=M(I,J) 820 IF X(M)<>0 THEN 860 830 LET X(M)=5 840 PRINT "MACHINE MOVES TO"; 850 GOSUB 1570 860 NEXT J 870 PRINT ", AND WINS AS FOLLOWS" 880 FOR J=1 TO 4 890 LET M=M(I,J) 900 GOSUB 1570 910 NEXT J 920 GOTO 1490 930 IF L(I)<>3 THEN 690 940 PRINT "NICE TRY MACHINE MOVES TO"; 950 FOR J=1 TO 4 960 LET M=M(I,J) 970 IF X(M)<>0 THEN 1010 980 LET X(M)=5 990 GOSUB 1570 1000 GOTO 500 1010 NEXT J 1020 GOTO 1300 1030 FOR I = 1 TO 76 1040 LET L(I)=X(M(I,1))+X(M(I,2))+X(M(I,3))+X(M(I,4)) 1050 LET L = L(I) 1060 IF L <2 THEN 1130 1070 IF L>=3 THEN 1130 1080 IF L>2 THEN 2230 1090 FOR J = 1 TO 4 1100 IF X(M(I,J))<>0 THEN 1120 1110 LET X(M(I,J))=1/8 1120 NEXT J 1130 NEXT I 1140 GOSUB 1640 1150 FOR I = 1 TO 76 1160 IF L(I)=1/2 THEN 2360 1170 IF L(I)=1+3/8 THEN 2360 1180 NEXT I 1190 GOTO 1830 1200LET Z = 1 1210 IF X(Y(Z))=0 THEN 1250 1220 LET Z=Z+1 1230 IF Z<>17 THEN 1210 1240 GOTO 1720 1250 LET M=Y(Z) 1260 LET X(M)=5 1270 PRINT "MACHINE MOVES TO"; 1280 GOSUB 1570 1290 GOTO 500 1300 LET X=X 1310 FOR I=1 TO 76 1320 LET L(I)=X(M(I,1))+X(M(I,2))+X(M(I,3))+X(M(I,4)) 1330 LET L=L(I) 1340 IF L<10 THEN 1410 1350 IF L>=11 THEN 1410 1360 IF L>10 THEN 2230 1370 FOR J=1 TO 4 1380 IF X(M(I,J))<>0 THEN 1400 1390 LET X(M(I,J))=1/8 1400 NEXT J 1410 NEXT I 1420 GOSUB 1640 1430 FOR I=1 TO 76 1440 IF L(I)=.5 THEN 2360 1450 IF L(I)=5+3/8 THEN 2360 1460 NEXT I 1470 GOSUB 2500 1480 GOTO 1030 1490 PRINT " " 1500 PRINT "DO YOU WANT TO TRY ANOTHER GAME"; 1510 INPUT X$ 1520 IF X$="YES" THEN 400 1530 IF X$="NO" THEN 1560 1540 PRINT "INCORRECT ANSWER. PLEASE TYPE 'YES' OR 'NO'"; 1550 GOTO 1510 1560 STOP 1570 LET K1=INT((M-1)/16)+1 1580 LET J2=M-16*(K1-1) 1590 LET K2=INT((J2-1)/4)+1 1600 LET K3=M-(K1-1)*16-(K2-1)*4 1610 LET M=K1*100+K2*10+K3 1620 PRINT M; 1630 RETURN 1640 FOR S=1 TO 76 1650 LET J1 = M(S,1) 1660 LET J2=M(S,2) 1670 LET J3=M(S,3) 1680 LET J4=M(S,4) 1690 LET L(S)=X(J1)+X(J2)+X(J3)+X(J4) 1700 NEXT S 1710 RETURN 1720 FOR I=1 TO 64 1730 IF X(I)<>0 THEN 1800 1740 LET X(I)=5 1750 LET M=I 1760 PRINT "MACHINE LIKES"; 1770 GOSUB 1570 1780 PRINT " " 1790 GOTO 500 1800 NEXT I 1810 PRINT "THE GAME IS A DRAW" 1820 GOTO 1490 1830 FOR K=1 TO 18 1840 LET P=0 1850 FOR I=4*K-3 TO 4*K 1860 FOR J=1 TO 4 1870 LET P=P+X(M(I,J)) 1880 NEXT J 1890 NEXT I 1900 IF P<4 THEN 1940 1910 IF P<5 THEN 1970 1920 IF P<9 THEN 1940 1930 IF P<10 THEN 1970 1940 NEXT K 1950 GOSUB 2500 1960 GOTO 1200 1970 LET S=1/8 1980 FOR I=4*K-3 TO 4*K 1990 GOTO 2370 2000 NEXT I 2010 LET S=0 2020 GOTO 1980 2030 DATA 1,49,52,4,13,61,64,16,22,39,23,38,26,42,27,43 2040DATA 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 2050 DATA 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38 2060 DATA 39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56 2070 DATA 57,58,59,60,61,62,63,64 2080DATA1,17,33,49,5,21,37,53,9,25,41,57,13,29,45,61 2090 DATA 2,18,34,50,6,22,38,54,10,26,42,58,14,30,46,62 2100DATA 3,19,35,51,7,23,39,55,11,27,43,59,15,31,47,63 2110 DATA 4,20,36,52,8,24,40,56,12,28,44,60,16,32,48,64 2120 DATA 1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61 2130 DATA 2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62 2140 DATA 3,7,11,15,19,23,27,31,35,39,43,47,51,55,59,63 2150 DATA4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64 2160 DATA1,6,11,16,17,22,27,32,33,38,43,48,49,54,59,64 2170 DATA 13,10,7,4,29,26,23,20,45,42,39,36,61,58,55,52 2180 DATA1,21,41,61,2,22,42,62,3,23,43,63,4,24,44,64 2190DATA 49,37,25,13,50,38,26,14,51,39,27,15,52,40,28,16 2200DATA 1,18,35,52,5,22,39,56,9,26,43,60,13,30,47,64 2210DATA 49,34,19,4,53,38,23,8,57,42,27,12,61,46,31,16 2220DATA 1,22,43,64,16,27,38,49,4,23,42,61,13,26,39,52 2230 FOR J=1 TO 4 2240 IF X(M(I,J))<>1/8 THEN 2330 2250 LET X(M(I,J))=5 2260 IF L(I)<5 THEN 2290 2270 PRINT "LET'S SEE YOU GET OUT OF THIS: MACHINE MOVES TO"; 2280 GOTO 2300 2290 PRINT "YOU FOX. JUST IN THE NICK OF TIME, MACHINE MOVES TO"; 2300 LET M=M(I,J) 2310 GOSUB 1570 2320 GOTO 500 2330 NEXT J 2340 PRINT "MACHINE CONCEDES THIS GAME." 2350 GOTO 1490 2360 LET S=1/8 2370 IF I-INT(I/4)*4>1 THEN 2400 2380 LET A=1 2390 GOTO 2410 2400 LET A=2 2410 FOR J=A TO 5-A STEP 5-2*A 2420 IF X(M(I,J))=S THEN 2450 2430 NEXT J 2440 GOTO 2000 2450 LET X(M(I,J))=5 2460 LET M=M(I,J) 2470 PRINT "MACHINE TAKES"; 2480 GOSUB 1570 2490 GOTO 500 2500 FOR I=1 TO 64 2510 IF X(I)<>1/8 THEN 2530 2520 LET X(I)=0 2530 NEXT I 2540 RETURN 2550 END[/spoiler]***Qubic is a three dimensional Tic Tac Toe game written in BASIC. It was later collected in the book BASIC Computer Games. The game plays like Tic Tac Toe except instead of a 3x3 board there's a 4x4x4 board and the player and computer must try to get four in a row. The player decides if he goes first or second.***[media=youtube]asDxyWaqPBk[/media] | labelminimizesubject |
Civilization | Author | 1970 | Written in [gametag=BASIC]BASIC[/gametag] for the [gametag=HP2000]HP2000[/gametag] platform. This game influenced many future game developers, book writers and movie makers. It was lost forever when administrators at Evergreen State College decided to get a different computer system. Countless works of art on the HP2000 were erased without mercy. Co-creator, Peter S. Langston recreated the game in the [gametag=Clanguage]C language[/gametag] on a [gametag=PDP-11-45]PDP 11/45[/gametag] running UNIX; he decided to rename it [game=#160318]Empire[/game]. Independently, Co-creator Ben Norton used [gametag=PASCAL]PASCAL[/gametag] to recreate the game on an HP3000; he also decided to call it [game=#160316]Empire[/game] [Zerothis] | labelminimizeminimize |
1Queen | Digital Equipment Computer Users' Society | 1970 | This game is based on the permissible moves of the chess queen-- i.e., along any vertical, horizontal, or diagonal. In this game, the queen can only move to the left, down, and diagonally down to the left. The object of the game is to place the queen (one only) in the lower left-hand square (no. 150), by alternating moves between you and the computer. The one to place the queen there wins. You go first and place the queen in anyone of the squares on the top row or the right-hand column. That is your first move. The computer is beatab1e, but it takes some figuring. See if you can devise a winning strategy. http://www.bitsavers.org/pdf/dec/_Books/101_BASIC_Computer_Games_Mar75.pdf pag. 178***1Queen is an early BASIC puzzle game based on chess rules. The player can move a queen on a chess board, but the queen can only move left, down and left and down diagonally. The player alternates turns with the computer alternate turns for moving the queen. The player to put it in the bottom left corner of board wins the game.***It is not a video game. It is not known if it was ever played in history. However, it is a programming language that is applicable to the PDP, it works, it is a disgusting game, I would never recommend playing it.***[spoiler=show source code;hide source code]This code was distributed when copyright did not apply to computer code. Legally, it is retroactive copyrighted now. However, no author has ever claimed this code. Not even in 1970. It was found on DECUS library back-up tapes dated 1970-02-09. 100' NAME--1QUEEN 110' 120' DESCRIPTION--PLAYS GAME BASED ON CHESS MOVES. 130' 140' SOURCE--UNKNOWN 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW DIRECTIONS. 170' 180' 190' * * * * * * MAIN PROGRAM * * * * * * * 200' 210 PRINT "DO YOU WISH INSTRUCTIONS"; 220 RANDOMIZE 230 DIM S(64) 240 FOR I = 1 TO 64 250 READ S(I) 260 NEXT I 270 DATA 81, 71, 61, 51, 41, 31, 21, 11 280 DATA 92, 82, 72, 62, 52, 42, 32, 22 290 DATA 103, 93, 83, 73, 63, 53, 43, 33 300 DATA 114, 104, 94, 84, 74, 64, 54, 44 310 DATA 125, 115, 105, 95, 85, 75, 65, 55 320 DATA 136, 126, 116, 106, 96, 86, 76, 66 330 DATA 147, 137, 127, 117, 107, 97, 87, 77 340 DATA 158, 148, 138, 128, 118, 108, 98, 88 350 INPUT W$ 360 IF W$="NO" THEN 420 370 IF W$="YES" THEN 400 380 PRINT "INCORRECT ANSWER. PLEASE TYPE 'YES' OR 'NO'"; 390 GOTO 350 400 GOSUB 1590 410 GOTO 430 420 GOSUB 1740 430 REM ERROR CHECKS. 440 PRINT "WHERE WOULD YOU LIKE TO START"; 450 INPUT M1 460 IF M1 = 0 THEN 610 470 LET T1 = INT(M1/10) 480 LET U1 = M1 - 10*T1 490 IF U1 = 1 THEN 550 500 IF U1 = T1 THEN 550 510 PRINT "PLEASE READ THE DIRECTIONS AGAIN." 520 PRINT "YOU HAVE BEGUN ILLEGALLY." 530 PRINT 540 GO TO 440 550 GO SUB 780 560 PRINT "MACHINE MOVES TO SQUARE"M 570 IF M = 158 THEN 1330 580 PRINT "WHAT IS YOUR MOVE"; 590 INPUT M1 600 IF M1 <> 0 THEN 650 610 PRINT 620 PRINT "IT LOOKS LIKE I HAVE WON BY FORFEIT." 630 PRINT 640 GO TO 1490 650 IF M1 <= M THEN 1200 660 LET T1 = INT(M1/10) 670 LET U1 = M1 - 10*T1 680 LET P = U1 - U 690 IF P <> 0 THEN 730 700 LET L = T1 - T 710 IF L <= 0 THEN 1200 720 GO TO 550 730 IF T1 - T <> P THEN 750 740 GO TO 550 750 IF T1 - T <> 2*P THEN 1200 760 GO TO 550 770 REM LOCATE MOVE FOR MACHINE. 780 IF M1 = 41 THEN 1010 790 IF M1 = 44 THEN 1010 800 IF M1 = 73 THEN 1010 810 IF M1 = 75 THEN 1010 820 IF M1 = 126 THEN 1010 830 IF M1 = 127 THEN 1010 840 IF M1 = 158 THEN 1240 850 LET C = 0 860 FOR K = 7 TO 1 STEP -1 870 LET U = U1 880 LET T = T1 + K 890 GO SUB 1390 900 IF C = 1 THEN 990 910 LET U = U + K 920 GO SUB 1390 930 IF C = 1 THEN 990 940 LET T = T + K 950 GO SUB 1390 960 IF C = 1 THEN 990 970 NEXT K 980 GO TO 1010 990 LET C = 0 1000 RETURN 1010 GO SUB 1040 1020 RETURN 1030 REM RANDOM MOVE. 1040 LET Z=RND 1050 IF Z > .6 THEN 1150 1060 IF Z > .3 THEN 1110 1070 LET U = U1 1080 LET T = T1 + 1 1090 LET M = 10*T + U 1100 RETURN 1110 LET U = U1 + 1 1120 LET T = T1 + 2 1130 LET M = 10*T + U 1140 RETURN 1150 LET U = U1 + 1 1160 LET T = T1 + 1 1170 LET M = 10*T + U 1180 RETURN 1190 REM ILLEGAL MOVE MESSAGE. 1200 PRINT 1210 PRINT "Y O U C H E A T . . . TRY AGAIN"; 1220 GO TO 590 1230 REM PLAYER WINS. 1240 PRINT 1250 PRINT "C O N G R A T U L A T I O N S . . . " 1260 PRINT 1270 PRINT "YOU HAVE WON--VERY WELL PLAYED." 1280 PRINT "IT LOOKS LIKE I HAVE MET MY MATCH." 1290 PRINT "THANKS FOR PLAYING--I CAN'T WIN ALL THE TIME." 1300 PRINT 1310 GO TO 1490 1320 REM MACHINE WINS. 1330 PRINT 1340 PRINT "NICE TRY, BUT IT LOOKS LIKE I HAVE WON." 1350 PRINT "THANKS FOR PLAYING." 1360 PRINT 1370 GO TO 1490 1380 REM TEST FOR MACHINE MOVE. 1390 LET M = 10*T + U 1400 IF M = 158 THEN 1460 1410 IF M = 127 THEN 1460 1420 IF M = 126 THEN 1460 1430 IF M = 75 THEN 1460 1440 IF M = 73 THEN 1460 1450 RETURN 1460 LET C = 1 1470 GO TO 1450 1480 REM ANOTHER GAME? 1490 PRINT "ANYONE ELSE CARE TO TRY"; 1500 INPUT Q$ 1510 PRINT 1520 IF Q$="YES" THEN440 1530 IF Q$="NO" THEN 1560 1540 PRINT "INCORRECT ANSWER. PLEASE TYPE 'YES' OR 'NO'"; 1550 GOTO 1500 1560 PRINT "OK - - THANKS AGAIN." 1570 STOP 1580 REM DIRECTIONS, ETC. . . 1590 PRINT "WE ARE GOING TO PLAY A GAME BASED ON ONE OF THE CHESS MOVES." 1600 PRINT "OUR QUEEN WILL BE ABLE TO MOVE ONLY TO THE LEFT," 1610 PRINT "DOWN, AND DIAGONALLY DOWN TO THE LEFT." 1620 PRINT 1630 PRINT "THE OBJECT OF THE GAME IS TO PLACE THE QUEEN IN THE" 1640 PRINT "LOWER LEFT-HAND SQUARE BY ALTERNATING MOVES BETWEEN" 1650 PRINT "YOU AND THE MACHINE/ THE FIRST ONE TO PLACE THE QUEEN" 1660 PRINT "THERE, WINS." 1670 PRINT 1680 PRINT "YOU GO FIRST AND PLACE THE QUEEN IN ANY ONE OF THE" 1690 PRINT "SQUARES ON THE TOP ROW OR THE RIGHT-HAND COLUMN." 1700 PRINT "THAT WILL BE YOUR FIRST MOVE." 1710 PRINT "WE WILL THEN ALTERNATE MOVES." 1720 PRINT "YOU MAY FORFEIT AT ANY TIME BY TYPING '0' AS YOUR MOVE." 1730 PRINT "BE SURE TO PUSH THE 'RETURN' KEY AFTER EACH RESPONSE." 1740 PRINT 1750 FOR A = 0 TO 7 1760 FOR B = 1 TO 8 1770 LET I = 8*A + B 1780 PRINT TAB(6*(B-1)+1);S(I); 1790 NEXT B 1800 PRINT 1810 PRINT 1820 PRINT 1830 NEXT A 1840 PRINT 1850 RETURN 1860 END [/spoiler] | labelimagesubject |
Digits | Digital Equipment Computer Users' Society (Keiwit Computation Center) | 1970 | [media=youtube]yJXT_MCm87w[/media]***Digits is a number guessing game. The player is asked to write down three lines of 10 digits, where each digit can be 0, 1 or 2. The computer will then try to guess your numbers. The player must input the number sets and the computer compares it with its guesses. If it guessed correctly more than 10 times the computer wins, otherwise the player wins or it's a tie when exactly 10 guesses were correct.***Videogame Programming Lines [spoiler=show source code;hide source code] 100' NAME--DIGITS 110' 120' DESCRIPTION--GUESSES A SEQUENCE OF NUMBERS. 130' 140' SOURCE--UNKNOWN 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW DIRECTIONS. 170' 180' 190' * * * * * * MAIN PROGRAM * * * * * * * * * * 200' 210 PRINT"THIS IS A GAME OF GUESSING." 220 PRINT "FOR INSTRUCTIONS, TYPE '1', ELSE TYPE '0'"; 230 INPUT E 240 IF E=0 THEN 360 250 PRINT 260 PRINT "PLEASE TAKE A PIECE OF PAPER AND WRITE DOWN" 270 PRINT "THE DIGITS '0', '1', OR '2' THIRTY TIMES AT RANDOM." 280 PRINT "ARRANGE THEM IN THREE LINES OF TEN DIGITS." 290 PRINT "I'LL ASK FOR THEM 10 AT A TIME." 300 PRINT "I WILL ALWAYS GUESS FIRST, AND THEN LOOK AT YOUR" 310 PRINT "NEXT NUMBER TO SEE IF I WAS RIGHT. BY PURE LUCK I" 320 PRINT "OUGHT TO BE RIGHT 10 TIMES. BUT I HOPE TO DO BETTER" 330 PRINT "THAN THAT****" 340 PRINT 350 PRINT 360 READ A,B,C 370 DATA 0,1,3 380 DIM M(26,2) 390 DIM K(2,2), L(8,2) 400 MAT M = CON 410 MAT K = CON 420 MAT K = (9)*K 430 MAT L = CON 440 MAT L = (3)*L 450 LET L(0,0) = 2 460 LET L(4,1) = 2 470 LET L(8,2) = 2 480 LET Z = 26 490 LET Z1 = 8 500 LET Z2 = 2 510 LET X = 0 520 FOR T = 1 TO 3 530 PRINT 540 PRINT "TEN NUMBERS PLEASE"; 550 INPUT N(1), N(2), N(3),N(4),N(5),N(6),N(7),N(8),N(9),N(10) 560 FOR I = 1 TO 10 570 LET W = N(I) - 1 580 IF W = SGN(W) THEN 620 590 PRINT "USE ONLY THE DIGITS '0', '1', OR '2'." 600 PRINT "LET'S TRY AGAIN." 610 GOTO 530 620 NEXT I 630 PRINT 640 PRINT "MY GUESS", "YOUR NO.", "RESULT", "NO. RIGHT" 650 PRINT 660 FOR U = 1 TO 10 670 LET N = N(U) 680 LET S = 0 690 FOR J = 0 TO 2 700 LET S1 = A*K(Z2,J) + B*L(Z1,J) + C*M(Z,J) 710 IF S > S1 THEN 760 720 IF S < S1 THEN 740 730 IF RND<.5 THEN 760 740 LET S=S1 750 LET G=J 760 NEXT J 770 PRINT G, N(U), 780 IF G=N(U) THEN 810 790 PRINT "WRONG", X 800 GOTO 830 810 LET X = X+1 820 PRINT "RIGHT", X 830 LET M(Z,N) = M(Z,N)+1 840 LET L(Z1,N) = L(Z1,N)+1 850 LET K(Z2,N) = K(Z2,N)+1 860 LET Z = Z - INT(Z/9)*9 870 LET Z = 3*Z+N(U) 880 LET Z1 = Z-INT(Z/9)*9 890 LET Z2 = N(U) 900 NEXT U 910 NEXT T 920 PRINT 930 IF X>10 THEN 980 940 IF X<10 THEN 1010 950 PRINT "I GUESSED EXACTLY 1/3 OF YOUR NUMBERS." 960 PRINT "IT IS A TIE GAME." 970 GOTO 1030 980 PRINT "I GUESSED MORE THAN 1/3 OF YOUR NUMBERS." 990 PRINT "I WIN." 1000 GOTO 1030 1010 PRINT "I GUESSED LESS THAN 1/3 OF YOUR NUMBERS." 1020 PRINT "YOU BEAT ME. CONGRATULATIONS***" 1030 PRINT 1040 PRINT "DO YOU WANT TO TRY AGAIN?" 1050 PRINT "IF YES, TYPE '1'; IF NO, TYPE '0'"; 1060 INPUT X 1070 IF X =1 THEN 400 1080 PRINT "THANKS FOR THE GAME." 1090 END [/spoiler] | labelimagesubject |
Gamnim | Digital Equipment Computer Users' Society | 1970 | Gamnim is a game of Nim. There is a distinct number of items on a distinct number of piles and the player and computer take turns removing items from a chosen pile. Depending on the choices made at the start of the game whoever picks the first or last item wins the game.***Videogame Programming Files [spoiler=show source code;hide source code] 100' NAME--GAMNIM 110' 120' DESCRIPTION--PLAYS GAME OF NIM 130' 140' SOURCE--UNKNOWN 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW INSTRUCTIONS 170' 180' 190' * * * * * * * MAIN PROGRAM * * * * * * * * * * * * 200' 210 DIM A(100),B(100,10),D(2) 220 PRINT "THIS IS THE GAME OF NIM." 230 PRINT "DO YOU WANT INSTRUCTIONS"; 240 INPUT Z$ 250 IF Z$="NO" THEN 390 260 IF Z$="YES" THEN 290 270 PRINT "INCORRECT ANSWER. PLEASE TYPE 'YES' OR 'NO'"; 280 GOTO 240 290 PRINT "THE GAME IS PLAYED WITH A NUMBER OF PILES OF OBJECTS." 300 PRINT "ANY NUMBER OF OBJECTS ARE REMOVED FROM ONE PILE BY YOU AND" 310 PRINT "THE MACHINE ALTERNATELY. YOU MUST SPECIFY WHETHER WINNING" 320 PRINT "IS DEFINED AS TAKING OR NOT TAKING THE LAST OBJECT, THE" 330 PRINT "NUMBER OF PILES IN THE GAME, AND HOW MANY OBJECTS ARE" 340 PRINT "ORIGINALLY IN EACH PILE. EACH PILE MAY CONTAIN A" 350 PRINT "DIFFERENT NUMBER OF OBJECTS." 360 PRINT "THE MACHINE WILL SHOW ITS MOVE BY LISTING EACH PILE AND THE" 370 PRINT "NUMBER OF OBJECTS REMAINING IN THE PILES AFTER EACH OF ITS" 380 PRINT "MOVES." 390 PRINT 400 PRINT "ENTER WIN OPTION - 1 TO TAKE LAST, 2 TO AVOID LAST"; 410 INPUT W 420 IF W=1 THEN 440 430 IF W<>2 THEN 400 440 PRINT "ENTER NUMBER OF PILES"; 450 INPUT N 460 IF N>100 THEN 440 470 IF N<1 THEN 440 480 IF N<>INT(N) THEN 440 490 PRINT "ENTER PILE SIZES" 500 FOR I=1 TO N 510 PRINT I; 520 INPUT A(I) 530 IF A(I)>2000 THEN 510 540 IF A(I)<1 THEN 510 550 IF A(I)<>INT(A(I)) THEN 510 560 NEXT I 570 IF W=1 THEN 810 580 LET C=0 590 FOR I=1 TO N 600 IF A(I)=0 THEN 640 610 LET C=C+1 620 IF C=3 THEN 710 630 LET D(C)=I 640 NEXT I 650 IF C=2 THEN 790 660 IF A(D(1))>1 THEN 690 670 PRINT "MACHINE LOSES" 680 STOP 690 PRINT "MACHINE WINS" 700 STOP 710 LET C=0 720 FOR I=1 TO N 730 IF A(I)>1 THEN 810 740 IF A(I)=0 THEN 760 750 LET C=C+1 760 NEXT I 770 IF C/2<>INT(C/2) THEN 670 780 GOTO 810 790 IF A(D(1))=1 THEN 690 800 IF A(D(2))=1 THEN 690 810 FOR I=1 TO N 820 LET E=A(I) 830 FOR J=0 TO 10 840 LET F=E/2 850 LET B(I,J)=2*(F-INT(F)) 860 LET E=INT(F) 870 NEXT J 880 NEXT I 890 FOR J=10 TO 0 STEP -1 900 LET C=0 910 LET H=0 920 FOR I=1 TO N 930 IF B(I,J)=0 THEN 980 940 LET C=C+1 950 IF A(I)<=H THEN 980 960 LET H=A(I) 970 LET G=I 980 NEXT I 990 IF C/2<>INT(C/2) THEN 1060 1000 NEXT J 1010 LET E=INT(N*RND+1) 1020 IF A(E)=0 THEN 1010 1030 LET F=INT(A(E)*RND+1) 1040 LET A(E)=A(E)-F 1050 GO TO 1250 1060 LET A(G)=0 1070 FOR J=0 TO 10 1080 LET B(G,J)=0 1090 LET C=0 1100 FOR I=1 TO N 1110 IF B(I,J)=0 THEN 1130 1120 LET C=C+1 1130 NEXT I 1140 LET A(G)=A(G)+2*(C/2-INT(C/2))*2^J 1150 NEXT J 1160 IF W=1 THEN 1250 1170 LET C=0 1180 FOR I=1 TO N 1190 IF A(I)>1 THEN 1250 1200 IF A(I)=0 THEN 1220 1210 LET C=C+1 1220 NEXT I 1230 IF C/2<>INT(C/2) THEN 1250 1240 LET A(G)=1-A(G) 1250 PRINT "PILE SIZE" 1260 FOR I=1 TO N 1270 PRINT I;A(I) 1280 NEXT I 1290 IF W=2 THEN 1320 1300 GOSUB 1440 1310 IF Z=1 THEN 690 1320 PRINT "YOUR MOVE - PILE,NUMBER TO BE REMOVED"; 1330 INPUT X,Y 1340 IF X>N THEN 1320 1350 IF X<1 THEN 1320 1360 IF X<>INT(X) THEN 1320 1370 IF Y>A(X) THEN 1320 1380 IF Y<1 THEN 1320 1390 IF Y<>INT(Y) THEN 1320 1400 LET A(X)=A(X)-Y 1410 GOSUB 1440 1420 IF Z=1 THEN 670 1430 GO TO 570 1440 LET Z=0 1450 FOR I=1 TO N 1460 IF A(I)=0 THEN 1480 1470 RETURN 1480 NEXT I 1490 LET Z=1 1500 RETURN 1510 END [/spoiler] | labelminimizesubject |
Hangman | Digital Equipment Computer Users' Society | 1970 | [media=youtube]yJXT_MCm87w[/media]***Hangman is a word-guessing game. The player must try to guess the word that the computer randomly chose, letter by letter. On each incorrect letter the player can opt to draw a picture of his current state. Unlike traditional hangman where the character is slowly built up until hanged, here the character slowly disappears until completely gone. The goal is to guess the full word before it comes to that.***Video Programming Lines [spoiler=show source code;hide source code] 100' NAME--HANGMAN 110' 120' DESCRIPTION--PLAYS HANGMAN 130' 140' SOURCE--UNKNOWN 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW INSTRUCTIONS. 170' 180' 190' * * * * * * * MAIN PROGRAM * * * * * * * * * * 200' 210 RANDOMIZE 220 PRINT"DO YOU WANT TO SEE THE INSTRUCTIONS"; 230 INPUT N7$ 240 IF N7$="NO" THEN 330 250 PRINT 260 PRINT"THIS GAME IS SOMETHING LIKE HANGMAN. THE MACHINE CHOOSES" 270 PRINT"A WORD OUT OF ITS STORAGE AND YOU ARE REQUIRED TO GUESS THE" 280 PRINT"WORD LETTER BY LETTER. AFTER EACH MISTAKE, YOU WILL BE ASKED" 290 PRINT"WHETHER YOU WANT TO SEE A PICTURE OF YOURSELF. THE MORE" 300 PRINT"MISTAKES YOU MAKE, THE LESS OF YOU THERE WILL BE. UNTIL" 310 PRINT"AFTER 9 MISTAKES, YOU WILL BE ALL GONE, AND YOU WILL" 320 PRINT"LOSE." 330 LET T2=0 340 PRINT 350 PRINT"WOULD YOU LIKE TO SEE THE WHOLE PICTURE BEFORE THE GAME STARTS"; 360 INPUT Q9$ 370 IF Q9$="YES" THEN 1150 380 LET T2=1 390 LET Q=0 400 LET L=1 410 DIM S(200) 420 DIM F$(2000) 430 DIM A$(20) 440 DIM B$(20) 450 DIM I(200) 460 LET O1=1 470 READ S(O1) 480 IF S(O1)<0 THEN 570 490 LET I(O1)=L 500 FOR O=L TO L+S(O1)-1 510 READ F$(O) 520 NEXT O 530 LET Q=Q+1 540 LET L=L+S(O1) 550 LET O1=O1+1 560 GO TO 470 570 LET O1=O1-1 580 LET R=INT(1+O1*RND) 590 LET S=S(R) 600 LET O6=I(R) 610 FOR Z2=1 TO S(R) 620 LET O6=I(R) 630 LET A$(Z2)=F$(O6+Z2-1) 640 NEXT Z2 650 DIM U$(26) 660 DIM E$(26) 670 LET V=1 680 FOR I=1 TO S 690 LET B$(I)=" - " 700 NEXT I 710 GO TO 890 720 PRINT 730 PRINT"WHAT IS YOUR GUESS"; 740 LET K=1 750 INPUT G$ 760 FOR Y=1 TO S 770 IF G$=A$(Y) THEN 790 780 GO TO 800 790 LET K=0 800 NEXT Y 810 IF K=0 THEN 840 820 LET E$(V)=G$ 830 LET V=V+1 840 FOR T=1 TO S 850 IF G$=A$(T) THEN 870 860 GO TO 880 870 LET B$(T)=G$ 880 NEXT T 890 PRINT 900 FOR I=1 TO S 910 PRINT B$(I); 920 NEXT I 930 PRINT " ", 940 FOR G6=1 TO V-1 950 PRINT E$(G6); 960 NEXT G6 970 PRINT 980 LET E1=V-1 990 IF E1<9 THEN 1100 1000 PRINT"I WIN..." 1010 PRINT"THE CORRECT ANSWER IS "; 1020 FOR Z2=1 TO S 1030 PRINT A$(Z2); 1040 NEXT Z2 1050 PRINT 1060 PRINT" DO YOU WANT TO PLAY AGAIN"; 1070 INPUT T$ 1080 IF T$="YES" THEN 580 1090 STOP 1100 PRINT 1110 IF K=0 THEN 1490 1120 PRINT"DO YOU WANT TO SEE THE PICTURE"; 1130 INPUT T2$ 1140 IF T2$="NO" THEN1490 1150 PRINT" *-:-*" 1160 PRINT" %& &%" 1170 PRINT" # #" 1180 IF E1=8 THEN 1490 1190 PRINT" ^ (.) (.) ^" 1200 IF E1=7 THEN 1490 1210 PRINT" <<< >>>" 1220 IF E1=6 THEN 1490 1230 PRINT" ! :?: !" 1240 IF E1=5 THEN 1490 1250 PRINT" * - - *" 1260 PRINT" ' +++++ '" 1270 PRINT" & &" 1280 PRINT" %%% %%%" 1290 PRINT" :!#$#!:" 1300 IF E1=4 THEN 1490 1310 PRINT" I" 1320 PRINT" I" 1330 PRINT" I" 1340 IF E1=3 THEN 1490 1350 PRINT"???????????????????" 1360 IF E1=2 THEN 1490 1370 PRINT" @" 1380 PRINT" @" 1390 PRINT" @" 1400 IF E1=1 THEN 1490 1410 PRINT" ( )" 1420 PRINT" ( )" 1430 PRINT" ( )" 1440 PRINT" ( )" 1450 PRINT" ( )" 1460 PRINT" ( )" 1470 PRINT" (#$%& &%$#)" 1480 IF T2=0 THEN 380 1490 FOR I=1 TO S 1500 IF A$(I)=B$(I) THEN 1520 1510 GO TO 730 1520 NEXT I 1530 PRINT"VERY GOOD! YOU WIN!" 1540 PRINT"DO YOU WANT TO PLAY AGAIN"; 1550 INPUT H8$ 1560 IF H8$="YES" THEN 580 1570 DATA 10,I,M,P,O,S,S,I,B,L,E, 5,I,D,I,O,T 1580 DATA 9,A,P,A,T,H,E,T,I,C 1590 DATA10,W,A,T,E,R,F,R,O,N,T 1600 DATA11,C,O,L,L,E,C,T,I,O,N,S 1610 DATA 9,Y,E,S,T,E,R,D,A,Y 1620 DATA12,K,I,N,D,E,R,G,A,R,T,E,N 1630 DATA14,A,D,M,I,N,I,S,T,R,A,T,I,O,N 1640 DATA 8,E,M,P,H,A,S,I,S 1650 DATA 9,E,D,U,C,A,T,I,O,N 1660 DATA 10,R,E,C,I,P,R,O,C,A,L 1670 DATA 11,D,E,C,L,A,R,A,T,I,O,N 1680 DATA 7,P,I,T,C,H,E,R 1690 DATA 10,S,U,P,E,R,S,O,N,I,C 1700 DATA 11,C,O,M,M,E,N,D,A,B,L,E 1710 DATA 7,P,A,S,S,A,G,E 1720 DATA 10,P,E,R,C,E,N,T,A,G,E 1730 DATA 5,J,O,I,N,T 1740 DATA8,G,O,V,E,R,N,O,R 1750 DATA 7,P,R,O,G,R,A,M 1760 DATA 13,D,I,S,A,P,P,E,A,R,A,N,C,E 1770 DATA 8,S,E,C,U,R,I,T,Y 1780 DATA 7,W,E,L,C,O,M,E 1790 DATA 4,Z,E,R,O 1800 DATA9,P,O,T,E,N,T,I,A,L 1810 DATA 8,C,O,M,P,O,S,E,D 1820 DATA 11,P,O,S,S,I,B,I,L,I,T,Y 1830 DATA 8,D,I,R,E,C,T,O,R 1840 DATA 6,R,E,S,U,L,T 1850 DATA 8,C,H,I,L,D,R,E,N 1860 DATA 9,C,L,A,S,S,R,O,O,M 1870 DATA 8,E,C,O,N,O,M,I,C 1880 DATA 9,E,Q,U,I,V,O,C,A,L 1890 DATA 7,H,O,S,T,I,L,E 1900 DATA 7,R,O,G,U,I,S,H 1910 DATA 9,M,I,G,R,A,T,I,O,N 1920 DATA 13,A,U,T,H,O,R,I,Z,A,T,I,O,N 1930 DATA 7,C,U,R,S,O,R,Y 1940 DATA 5,M,O,N,E,Y 1950DATA 7,A,B,S,O,L,V,E 1960 DATA 12,P,R,E,R,E,Q,U,I,S,I,T,E 1970 DATA 7,I,N,S,I,P,I,D 1980 DATA 14 ,C,O,N,G,L,O,M,E,R,A,T,I,O,N 1990 DATA 10,N,E,G,O,T,I,A,B,L,E 2000 DATA 7,D,E,P,O,S,I,T 2010 DATA 4,L,A,M,P 2020 DATA 9,Q,U,A,L,I,F,I,E,D 2030 DATA 11,M,A,I,N,T,E,N,A,N,C,E 2040 DATA 7,F,U,N,E,R,A,L 2050 DATA 9,C,A,R,P,E,N,T,E,R 2060 DATA 5,F,U,G,U,E 2070 DATA 11,M,A,N,U,F,A,C,T,U,R,E 2080 DATA 6,B,A,K,E,R,Y 2090 DATA 8,M,I,L,I,T,A,R,Y 2100 DATA 5,G,U,A,R,D 2110 DATA 9,T,E,C,H,N,I,C,A,L 2120 DATA 8,S,Y,M,P,H,O,N,Y 2130 DATA 7,A,D,V,A,N,C,E 2140 DATA 7,M,I,N,I,M,U,M 2150 DATA 9,A,L,E,R,T,N,E,S,S 2160 DATA 7,Q,U,A,R,T,E,T 2170 DATA 6,P,O,L,I,S,H 2180 DATA 7,B,E,N,E,F,I,T 2190 DATA 8,C,O,M,P,O,S,E,R 2200 DATA 4,H,E,R,O 2210 DATA 6,D,E,S,I,S,T 2220 DATA 6,C,I,T,I,E,S 2230 DATA 4,S,L,U,M 2240 DATA 6,R,E,G,I,M,E 2250 DATA 5,D,O,U,B,T 2260 DATA 4,J,O,K,E 2270 DATA 9,P,R,O,T,E,S,T,E,R 2280 DATA 7,S,I,M,I,L,A,R 2290 DATA 4,C,U,R,B 2300 DATA 5,E,L,I,T,E 2310 DATA 8,M,E,D,I,C,A,R,E 2320 DATA 5,M,A,Y,O,R 2330 DATA 4,F,U,N,D 2340 DATA 6,A,C,T,I,O,N 2350 DATA 6,C,L,O,U,D,Y 2360 DATA 4,N,E,W,S 2370 DATA 5,Y,O,U,N,G 2380 DATA 5,M,A,F,I,A 2390 DATA 9,G,U,E,R,R,I,L,L,A 2400 DATA 7,R,E,Q,U,E,S,T 2410 DATA 7,G,O,U,R,M,E,T 2420 DATA 3,P,U,B 2430 DATA 8,S,K,I,R,M,I,S,H 2440 DATA 5,B,L,A,C,K 2450 DATA 5,W,H,I,T,E 2460 DATA 7,H,I,S,T,O,R,Y 2470 DATA 6,P,O,L,I,C,Y 2480 DATA 9,G,Y,M,N,A,S,I,U,M 2490 DATA 7,V,E,H,I,C,L,E 2500 DATA 9,A,U,T,O,M,O,T,O,N 2510 DATA 6,B,L,I,G,H,T 2520 DATA 3,S,I,X 2530 DATA 4,C,A,L,L 2540 DATA 9,P,S,Y,C,H,O,T,I,C 2550 DATA 8,N,E,U,R,O,T,I,C 2560 DATA 7,A,N,X,I,E,T,Y 2570 DATA 7,S,Y,M,P,T,O,M 2580 DATA13,H,Y,P,O,C,H,O,N,D,R,I,A,C 2590 DATA 6,P,H,O,B,I,A 2600 DATA 9,O,B,S,E,S,S,I,O,N 2610 DATA10,C,O,M,P,U,L,S,I,O,N 2620 DATA 8,H,Y,S,T,E,R,I,A 2630 DATA 7,A,M,N,E,S,I,A 2640 DATA13,S,C,H,I,Z,O,P,H,R,E,N,I,A 2650 DATA 9,P,R,O,G,N,O,S,I,S 2660 DATA 8,P,A,R,A,N,O,I,D 2670 DATA 9,C,A,T,A,T,O,N,I,C 2680 DATA 7,A,L,C,O,H,O,L 2690 DATA -103 2700 END [/spoiler] | labelminimizesubject |
Horserace | Digital Equipment Computer Users' Society (Author) | 1970 | [media=youtube]6ssYupYdw-k[/media]***Horserace is a betting game in which up to 10 players can bet on digital horses which will race the teletype paper to the finish. Players can bet up to 100,000 on 8 horses. Each horse has its own odds which determines the payouts when that horse wins.***Videogame Programm Files [spoiler=show source code;hide source code] 100' NAME--HORSERAC 110' 120' DESCRIPTION--A DAY AT THE RACES AT SOUTH PORTLAND HIGH 130' 140' SOURCE--LAURIE CHEVALIER 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW INSTRUCTIONS 170' 180' 190' * * * * * * * MAIN PROGRAM * * * * * * * * * * * 200' 210 RANDOM 220 PRINT"WELCOME TO SOUTH PORTLAND HIGH RACETRACK" 230PRINT" ...OWNED BY LAURIE CHEVALIER" 240 PRINT "DO YOU WANT DIRECTIONS"; 250 INPUT X$ 260 IF X$="NO" THEN320 270PRINT"UP TO 10 MAY PLAY.A TABLE OF ODDS WILL BE PRINTED. YOU" 280 PRINT"MAY BET ANY + AMOUNT UNDER 100000 ON ONE HORSE." 290 PRINT "DURING THE RACE , A HORSE WILL BE SHOWN BY ITS" 300 PRINT"NUMBER.THE HORSES RACE DOWN THE PAPER!" 310 PRINT 320 PRINT "HOW MANY WANT TO BET"; 330 INPUT C 340 PRINT "WHEN ? APPEARS,TYPE NAME" 350 FOR A=1 TO C 360 INPUT W$(A) 370 NEXT A 380 PRINT 390 PRINT"HORSE",,"NUMBER","ODDS" 400 PRINT 410 LET S(M(I))=0 420 LET R=0 430 FOR A=1 TO 8 440 LET D(A)=INT(10*RND+1) 450 NEXT A 460 FOR A=1TO 8 470 LET R=R+D(A) 480 NEXT A 490 LET V$(1)="JOE MAW" 500 LET V$(2)="L.B.J." 510 LET V$(3)="MR.WASHBURN" 520 LET V$(4)="MISS KAREN" 530 LET V$(5)="JOLLY" 540 LET V$(6)="FOR Q." 550 LET V$(7)="JELLY DO NOT" 560 LET V$(8)="ACID ROCK" 570 FOR N=1 TO8 580 PRINT V$(N),,N,R/D(N);":1" 590 NEXT N 600PRINT"--------------------------------------------------" 610 PRINT "PLACE YOUR BETS...HORSE # THEN AMOUNT" 620 FOR J=1 TO C 630 PRINT W$(J); 640 INPUT Q(J),P(J) 650 IF P(J)<1 THEN 670 660 IF P(J)<100000 THEN 690 670 PRINT" YOU CAN'T DO THAT!" 680 GOTO 630 690 NEXT J 700 PRINT 710 PRINT"1 2 3 4 5 6 7 8" 720 PRINT"XXXXSTARTXXXX"; 730 FOR I=1 TON 740 LET M=I 750 LET M(I)=M 760 LET Y(M(I))=INT(100*RND+1) 770 IF Y(M(I))<10 THEN860 780 LET S=INT(R/D(I)+.5) 790 IF Y(M(I))<S+17 THEN 880 800 IF Y(M(I))<S+37 THEN 900 810 IF Y(M(I))<S+57 THEN920 820 IF Y(M(I))<77+S THEN940 830 IF Y(M(I))<S+92 THEN960 840 LET Y(M(I))=7 850 GOTO 970 860 LET Y(M(I))=1 870 GOTO 970 880 LET Y(M(I))=2 890 GOTO 970 900 LET Y(M(I))=3 910 GOTO 970 920 LET Y(M(I))=4 930 GOTO 970 940 LET Y(M(I))=5 950 GOTO 970 960 LET Y(M(I))=6 970 NEXTI 980 LET M=I 990 FOR I=1TO8 1000LET S(M(I))=S(M(I))+Y(M(I)) 1010 NEXTI 1020 LET I=1 1030 FOR L=1 TO8 1040 FORI=1TO 8-L 1050 IF S(M(I))<S(M(I+1))THEN 1090 1060 LET H=M(I) 1070 LET M(I)=M(I+1) 1080 LET M(I+1)=H 1090 NEXT I 1100 NEXT L 1110 LET T=S(M(8)) 1120FOR I=1 TO8 1130 LET B=S(M(I))-S(M(I-1)) 1140 IF B=0 THEN 1190 1150 FOR A=1 TO B 1160 PRINT 1170IF S(M(I))>27 THEN1240 1180 NEXT A 1190 PRINT M(I); 1200 NEXT I 1210 FOR A=1 TO 28-T 1220 PRINT 1230 NEXT A 1240 PRINT"XXXXFINISHXXXX" 1250 IF T<28 THEN 720 1260 PRINT"**************" 1270 PRINT"WINNER IS "; 1280 FOR I=8 TO 1STEP-1 1290 LET F=M(I) 1300 PRINT 1310 PRINT "HORSE NO." F, V$(F) 1320 NEXT I 1330 FOR J=1 TO C 1340 IF Q(J)<>M(8) THEN 1370 1350LET N=Q(J) 1360 PRINT W$(J);"WINS $";(R/D(N))*P(J) 1370 NEXT J 1380 END [/spoiler] | labelminimizesubject |
Roulette | Digital Equipment Computer Users' Society (New England College) | 1970 | Roulette is a European Roulette Table gambling simulation written in BASIC for the PDP-10. The player can bet on a colour, number column, odd or even. The player can also decide how much virtual money to bet. The player has unlimited funds and the game only shows how much difference the player made.***[media=youtube]GPoV8e7BoJM[/media]***Videogame Programm Files [spoiler=show source code;hide source code] 100' NAME--ROULETTE 110' 120' DESCRIPTION--GENERATES GAME OF ROULETTE 130' 140' SOURCE--W. PAUL CULLEN,NEW ENGLAND COLLEGE. 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW INSTRUCTIONS. 170' 180' 190' * * * * * * * * * MAIN PROGRAM * * * * * * * * * 200' 210 LET K1 = 0 220 PRINT " WELCOME TO MONTE CARLO AND OUR EUROPEAN ROULETTE TABLE." 230 PRINT " I WISH YOU THE BEST OF LUCK." 240 PRINT 250 PRINT 260 PRINT "DO YOU WANT INSTRUCTIONS"; 270 INPUT Z$ 280 IF Z$ = "NO" THEN 970 290 IF Z$ = "YES" THEN 320 300 GOSUB 1960 310 GO TO 260 320 PRINT " THIS IS A GAME OF ROULETTE. YOU ARE ALLOWED TO BET" 330 PRINT "AN ODD OR EVEN NUMBER AND/OR A BLACK OR RED NUMBER AND/OR" 340 PRINT "A COLUMN OF NUMBERS AND/OR A NUMBER ITSELF. NUMBERS RANGE" 350 PRINT "FROM 0 TO 36. IF 0 APPEARS, THE BANK COLLECTS ALL BETS" 360 PRINT "EXCEPT THOSE BET ON THE NUMBER 0. THE PAYOFFS ARE AS FOLLOWS" 370 PRINT,"ODD OR EVEN = 1 TO 1" 380 PRINT,"RED OR BLACK = 1 TO 1" 390 PRINT, "A COLUMN = 2 TO 1" 400 PRINT, "A NUMBER = 35 TO 1" 410 PRINT " YOU ARE ALLOWED TO BET FROM $1 TO $10000, BUT THE"; 420 PRINT " TABLE WILL ONLY ACCEPT BETS OF WHOLE DOLLARS (NO CENTS)." 430 PRINT 440 PRINT " WOULD YOU LIKE TO SEE A PICTURE OF THE GAMBLING TABLE"; 450 INPUT Z1$ 460 IF Z1$ = "NO" THEN 970 470 IF Z1$ = "YES" THEN 510 480 GOSUB 1960 490 GO TO 440 500 PRINT 510 PRINT 520 PRINT" BELOW IS THE PICTURE OF OUR GAMBLING TABLE." 530 PRINT 540 PRINT 550 PRINT, " ***********" 560 PRINT, " * 0 *" 570 LET U$ = "*******************" 580 PRINT,U$ 590 PRINT,"* 1 * 2 * 3 *" 600 PRINT,"* RED *BLACK* RED *" 610 PRINT ,U$ 620 PRINT,"* 4 * 5 * 6 *" 630 PRINT,"*BLACK* RED *BLACK*" 640 PRINT,U$ 650 PRINT,"* 7 * 8 * 9 *" 660 PRINT,"* RED *BLACK* RED *" 670 PRINT,U$ 680 PRINT,"* 10 * 11 * 12 *" 690 PRINT,"*BLACK*BLACK* RED *" 700 PRINT,U$ 710 PRINT,"* 13 * 14 * 15 *" 720 PRINT,"*BLACK* RED *BLACK*" 730 PRINT,U$ 740 PRINT,"* 16 * 17 * 18 *" 750 PRINT,"* RED *BLACK* RED *" 760 PRINT,U$ 770 PRINT,"* 19 * 20 * 21 *" 780 PRINT,"* RED *BLACK* RED *" 790 PRINT,U$ 800 PRINT,"* 22 * 23 * 24 *" 810 PRINT,"*BLACK* RED *BLACK*" 820 PRINT,U$ 830 PRINT,"* 25 * 26 * 27 *" 840 PRINT,"* RED * RED *BLACK*" 850 PRINT,U$ 860 PRINT,"* 28 * 29 * 30 *" 870 PRINT,"*BLACK*BLACK* RED *" 880 PRINT ,U$ 890 PRINT,"* 31 * 32 * 33 *" 900 PRINT,"*BLACK* RED *BLACK*" 910 PRINT,U$ 920 PRINT,"* 34 * 35 * 36 *" 930 PRINT,"* RED *BLACK* RED *" 940 PRINT,U$ 950 PRINT, "*COL.1*COL.2*COL.3*" 960 PRINT,U$ 970 PRINT 980 PRINT 990 PRINT 1000 PRINT "DO YOU WANT TO BET AN ODD OR EVEN NUMBER"; 1010 INPUT A$ 1020 IF A$ = "NO" THEN 1220 1030 IF A$ = "YES" THEN 1060 1040 GOSUB 1960 1050 GO TO 1000 1060 PRINT "ODD OR EVEN"; 1070 INPUT B$ 1080 IF B$ = "ODD"THEN 1120 1090 IF B$ = "EVEN"THEN 1120 1100 PRINT "PLEASE TYPE ODD OR EVEN" 1110 GO TO 1060 1120 PRINT "HOW MUCH DO YOU WANT TO BET"; 1130 INPUT H 1140 IF H <= 10000 THEN 1170 1150 GOSUB 1980 1160 GO TO 1120 1170 FOR H1 = 0 TO 10000 1180 IF H1 = H THEN 1230 1190 NEXT H1 1200 GOSUB 2010 1210 GO TO 1120 1220 LET H = 0 1230 PRINT 1240 PRINT "DO YOU WANT TO BET A RED OR BLACK NUMBER"; 1250 INPUT C$ 1260 IF C$ = "NO" THEN 1460 1270 IF C$ = "YES" THEN 1300 1280 GOSUB 1960 1290 GO TO 1240 1300 PRINT "RED OR BLACK"; 1310 INPUT D$ 1320 IF D$ = "RED" THEN 1360 1330 IF D$ = "BLACK" THEN 1360 1340 PRINT "PLEASE TYPE RED OR BLACK." 1350 GO TO 1300 1360 PRINT "HOW MUCH DO YOU WANT TO BET"; 1370 INPUT I 1380 IF I <= 10000 THEN 1410 1390 GOSUB 1980 1400 GO TO 1360 1410 FOR I2 = 0 TO 10000 1420 IF I2 = I THEN 1470 1430 NEXT I2 1440 GOSUB 2010 1450 GO TO 1360 1460 LET I = 0 1470 PRINT 1480 PRINT "DO YOU WANT TO BET A COLUMN OF NUMBERS"; 1490 INPUT B1$ 1500 IF B1$ = "NO" THEN 1700 1510 IF B1$ = "YES" THEN 1540 1520 GOSUB 1960 1530 GO TO 1480 1540 PRINT "COLUMN 1, 2, OR 3"; 1550 INPUT B2 1560 IF B2 = 1 THEN 1610 1570 IF B2 = 2 THEN 1610 1580 IF B2 = 3 THEN 1610 1590 PRINT "PLEASE TYPE 1, 2, OR 3." 1600 GO TO 1540 1610 PRINT "HOW MUCH DO YOU WANT TO BET"; 1620 INPUT B8 1630 IF B8 <= 10000 THEN 1660 1640 GOSUB 1980 1650 GO TO 1610 1660 FOR B9 = 0 TO 10000 1670 IF B8 = B9 THEN 1710 1680 NEXT B9 1690 GO TO 1610 1700 LET B8 = 0 1710 PRINT 1720 PRINT "DO YOU WANT TO BET A NUMBER"; 1730 INPUT E$ 1740 IF E$ = "NO" THEN 2040 1750 IF E$ = "YES" THEN 1780 1760 GOSUB 1960 1770 GO TO 1720 1780 PRINT "WHAT IS YOUR NUMBER"; 1790 INPUT F 1800 FOR M = 0 TO 36 1810 IF F = M THEN 1860 1820 NEXT M 1830 PRINT "THAT IS AN ILLEGAL NUMBER" 1840 PRINT "YOU ARE ONLY ALLOWED TO BET INTEGERS RANGING FROM 0 TO 36" 1850 GO TO 1780 1860 PRINT "HOW MUCH DO YOU WANT TO BET"; 1870 INPUT G 1880 IF G <= 10000 THEN 1910 1890 GOSUB 1980 1900 GO TO 1860 1910 FOR G9 = 0 TO 10000 1920 IF G = G9 THEN 2050 1930 NEXT G9 1940 GOSUB 2010 1950 GO TO 1860 1960 PRINT "PLEASE TYPE YES OR NO." 1970 RETURN 1980 PRINT "SORRY, BUT THE TABLE CANNOT ACCEPT A BET OF THAT MUCH"; 1990 PRINT " MONEY." 2000 RETURN 2010 PRINT "SORRY, BUT YOU CAN ONLY BET IN $1 INCREMENTS FROM $1 TO"; 2020 PRINT " $10000." 2030 RETURN 2040 LET G = 0 2050 PRINT 2060 RANDOMIZE 2070 LET T = INT(37*RND) 2080 PRINT "THE NUMBER IS "; 2090 LET T1 = INT(T/10)+1 2100 ON T1 GO TO 2110,2120,2130,2140 2110 ON T+1 GO TO 2390,2210,2290,2250,2270,2230,2310,2210,2290,2250 2120 ON T-9 GO TO 2270,2350,2190,2330,2170,2370,2150,2350,2190,2210 2130 ON T-19 GO TO 2290,2250,2270,2230,2310,2210,2170,2370,2270,2350 2140 ON T-29 GO TO 2190,2330,2170,2370,2150,2350,2190 2150 PRINT T;" RED, EVEN, COLUMN 1" 2160 GO TO 2400 2170 PRINT T;" RED, EVEN, COLUMN 2" 2180 GO TO 2400 2190 PRINT T;" RED, EVEN, COLUMN 3" 2200 GO TO 2400 2210 PRINT T;" RED, ODD, COLUMN 1" 2220 GO TO 2400 2230 PRINT T;" RED, ODD, COLUMN 2" 2240 GO TO 2400 2250 PRINT T;" RED, ODD, COLUMN 3" 2260 GO TO 2400 2270 PRINT T;" BLACK, EVEN, COLUMN 1" 2280 GO TO 2400 2290 PRINT T; " BLACK, EVEN, COLUMN 2" 2300 GO TO 2400 2310 PRINT T; " BLACK, EVEN, COLUMN 3" 2320 GO TO 2400 2330 PRINT T; " BLACK, ODD, COLUMN1" 2340 GO TO 2400 2350 PRINT T; " BLACK, ODD, COLUMN 2" 2360 GO TO 2400 2370 PRINT T; " BLACK, ODD, COLUMN 3" 2380 GO TO 2400 2390 PRINT T 2400 IF G = 0 THEN 2470 2410 IF T = F THEN 2450 2420 PRINT " YOU LOSE $"G" FOR YOUR NUMBER BET." 2430 LET G = -G 2440 GO TO 2470 2450 PRINT " YOU WIN $"35*G" FOR YOUR NUMBER BET." 2460 LET G = 35*G 2470 IF H = 0 THEN 2660 2480 IF T = 0 THEN 2570 2490 IF B$ = "EVEN" THEN 2540 2500 FOR X = 1 TO 35 STEP 2 2510 IF T = X THEN 2610 2520 NEXT X 2530 GO TO 2570 2540 FOR X1 = 2 TO 36 STEP 2 2550 IF T = X1 THEN 2610 2560 NEXT X1 2570 PRINT " YOU LOSE $"H; 2580 GOSUB 2640 2590 LET H = -H 2600 GO TO 2660 2610 PRINT " YOU WIN $"H; 2620 GOSUB 2640 2630 GO TO 2660 2640 PRINT "FOR YOUR ODD-EVEN BET." 2650 RETURN 2660 IF I = 0 THEN 2940 2670 IF T = 0 THEN 2840 2680 FOR A1 = 1 TO 9 STEP 2 2690 IF T = A1 THEN 2830 2700 NEXT A1 2710 FOR A2 = 12 TO 18 STEP 2 2720 IF T = A2 THEN 2830 2730 NEXT A2 2740 FOR A3 = 19 TO 25 STEP 2 2750 IF T = A3 THEN 2830 2760 NEXT A3 2770 FOR A4 = 30 TO 36 STEP 2 2780 IF T = A4 THEN 2830 2790 NEXT A4 2800 IF T = 26 THEN 2830 2810 IF D$ = "BLACK" THEN 2880 2820 GO TO 2840 2830 IF D$ = "RED" THEN 2880 2840 PRINT " YOU LOSE $"I; 2850 GOSUB 2920 2860 LET I = -I 2870 GO TO 2940 2880 PRINT " YOU WIN $"; 2890 PRINT I; 2900 GOSUB 2920 2910 GO TO 2940 2920 PRINT "FOR YOUR RED-BLACK BET." 2930 RETURN 2940 IF B8 = 0 THEN 3200 2950 IF T = 0 THEN 3160 2960 FOR B3 = 1 TO 34 STEP 3 2970 IF T = B3 THEN 3050 2980 NEXT B3 2990 FOR B4 = 2 TO 35 STEP 3 3000 IF T = B4 THEN 3070 3010 NEXT B4 3020 FOR B5 = 3 TO 36 STEP 3 3030 IF T = B5 THEN 3090 3040 NEXT B5 3050 IF B2 = 1 THEN 3110 3060 IF B2 <> 1 THEN 3160 3070 IF B2 = 2 THEN 3110 3080 IF B2 <> 2 THEN 3160 3090 IF B2 = 3 THEN 3110 3100 IF B2 <> 3 THEN 3160 3110 PRINT " YOU WIN $"; 3120 PRINT 2*B8; 3130 PRINT "FOR YOUR COLUMN BET." 3140 LET B8 = 2*B8 3150 GO TO 3200 3160 PRINT " YOU LOSE $"; 3170 PRINT B8; 3180 PRINT "FOR YOUR COLUMN BET." 3190 LET B8 = -B8 3200 PRINT 3210 LET K = (G) + (H) + (I) + (B8) 3220 IF K < 0 THEN 3260 3230 IF K = 0 THEN 3280 3240 IF K > 0 THEN 3300 3250 GO TO 3310 3260 PRINT " YOU LOST $" ABS(K)" ON THIS ROUND." 3270 GO TO 3310 3280 PRINT " YOU BROKE EVEN THIS TIME." 3290 GO TO 3310 3300 PRINT " YOU WON $"K" ON THIS ROUND." 3310 PRINT 3320 PRINT 3330 LET K1 = K1 + K 3340 IF K1 < 0 THEN 3370 3350 IF K1 = 0 THEN 3390 3360 IF K1 > 0 THEN 3410 3370 PRINT " YOU HAVE LOST A TOTAL OF $"ABS(K1)" THUS FAR." 3380 GO TO 3430 3390 PRINT " THUS FAR YOU HAVE BROKEN EVEN." 3400 GO TO 3430 3410 PRINT " YOU HAVE WON A TOTAL OF $"K1" THUS FAR." 3420 GO TO 3430 3430 PRINT 3440 PRINT " DO YOU WANT TO PLAY AGAIN"; 3450 INPUT M$ 3460 IF M$ = "NO" THEN 3500 3470 IF M$ = "YES" THEN 970 3480 PRINT "PLEASE TYPE YES OR NO." 3490 GO TO 3440 3500 PRINT 3510 PRINT " THANKS FOR PLAYING." 3520 IF K1 < 0 THEN 3550 3530 IF K1 = 0 THEN 3570 3540 IF K1 > 0 THEN 3600 3550 PRINT " YOU LOST $" ABS(K1);", BETTER LUCK NEXT TIME." 3560 GO TO 3610 3570 PRINT " YOU BROKE EVEN TODAY, MAYBE NEXT TIME YOU WILL WIN"; 3580 PRINT " A FORTUNE." 3590 GO TO 3610 3600 PRINT " CONGRATULATIONS, YOU BEAT THE ODDS. YOU WON $"K1"TODAY." 3610 END [/spoiler] | labelminimizesubject |
Time-Sharing Tic-Tac-Toe | Digital Equipment Computer Users' Society | 1970 | Time-Sharing Tic-Tac-Toe is a simple Tic-Tac-Toe game played against the computer. The player chooses to go first or not and can enter his mark on the fields named 1 through 9. Whoever gets three in a row wins.***Videogame Programm Files [spoiler=show source code;hide source code] 100' NAME--TICTAC 110' 120' DESCRIPTION--PLAYS GAME OF TIC-TAC-TOE 130' 140' SOURCE--UNKNOWN 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW INSTRUCTIONS. 170' 180' 190' * * * * * * MAIN PROGRAM * * * * * * * * * * * 200' 210 PRINT "WELCOME TO TIME-SHARING TIC-TAC-TOE. THE BOARD IS LAID OUT" 220 PRINT "AS FOLLOWS:" 230 PRINT 240 PRINT "1 2 3" 250 PRINT "4 5 6" 260 PRINT "7 8 9" 270 PRINT 280 PRINT "WHEN THE MACHINE ASKS FOR YOUR MOVE, RESPOND WITH THE NUMBER" 290 PRINT "WHICH CORRESPONDS TO THE INTENDED SQUARE." 300 PRINT 310 DIM B(2,2) 320 FOR I = 0 TO 2 330 FOR J = 0 TO 2 340 LET B(I,J) = 0 350 NEXT J 360 NEXT I 370 LET P = 1 380 PRINT "DO YOU WANT ME TO GO FIRST (1 FOR YES, 0 FOR NO)"; 390 INPUT F 400 IF F = 0 THEN 430 410 PRINT "I PLAY X, YOU PLAY O" 420 GO TO 540 430 PRINT "YOU PLAY X, I PLAY O" 440 PRINT "YOUR MOVE: "; 450 GOSUB 780 460 GOSUB 1100 470 GOSUB 2290 480 GOSUB 1500 490 IF M <> 0 THEN 710 500 GOSUB 2290 510 GOSUB 1500 520 GOSUB 2290 530 IF M <> 0 THEN 710 540 LET M = 5 550 IF B(1,1) = 0 THEN 710 560 LET M = 1 570 IF B(0,0) = 0 THEN 710 580 LET M = 3 590 IF B(0,2) = 0 THEN 710 600 LET M = 7 610 IF B(2,0) = 0 THEN 710 620 LET M = 9 630 IF B(2,2) = 0 THEN 710 640 LET M = 2 650 IF B(0,1) = 0 THEN 710 660 LET M = 4 670 IF B(1,0) = 0 THEN 710 680 LET M = 6 690 IF B(1,2) = 0 THEN 710 700 LET M = 8 710 GOSUB 790 720 PRINT "I MOVE"M 730 GOSUB 910 740 GOSUB 1100 750 GOSUB 2290 760 GOTO 440 770 REM SUBROUTINE TO INPUT MOVES 780 INPUT M 790 IF M > 9 THEN 810 800 IF M > 0 THEN 830 810 PRINT "MOVE NOT ON BOARD. MOVE AGAIN: "; 820 GOTO 780 830 LET M1 = INT((M-1)/3) 840 LET M2 = M - 3*M1 - 1 850 IF B(M1,M2) = 0 THEN 880 860 PRINT "SQUARE ALREADY TAKEN. MOVE AGAIN: "; 870 GOTO 780 880 LET B(M1,M2) = P 890 RETURN 900 REM SUBROUTINE TO PRINT OUT T-T-T BOARD 910 FOR I = 0 TO 2 920 PRINT 930 FOR J = 0 TO 2 940 IF B(I,J) <> 0 THEN 970 950 PRINT "- "; 960 GOTO 1040 970 IF B(I,J) <> 1 THEN 1000 980 PRINT "X "; 990 GOTO 1040 1000 IF B(I,J) <> 2 THEN 1030 1010 PRINT "O "; 1020 GOTO 1040 1030 PRINT "? "; 1040 NEXT J 1050 NEXT I 1060 PRINT 1070 PRINT 1080 RETURN 1090 REM SUBROUTINE TO DETECT THAT PLAYER P HAS WON 1100 IF B(0,0) <> P THEN 1170 1110 IF B(0,1) <> P THEN 1130 1120 IF B(0,2) = P THEN 1390 1130 IF B(1,0) <> P THEN 1150 1140 IF B(2,0) = P THEN 1390 1150 IF B(1,1) <> P THEN 1170 1160 IF B(2,2) = P THEN 1390 1170 IF B(0,1) <> P THEN 1200 1180 IF B(1,1) <> P THEN 1200 1190 IF B(2,1) = P THEN 1390 1200 IF B(0,2) <> P THEN 1250 1210 IF B(1,1) <> P THEN 1230 1220 IF B(2,0) = P THEN 1390 1230 IF B(1,2) <> P THEN 1250 1240 IF B(2,2) = P THEN 1390 1250 IF B(1,0) <> P THEN 1280 1260 IF B(1,1) <> P THEN 1280 1270 IF B(1,2) = P THEN 1390 1280 IF B(2,0) <> P THEN 1310 1290 IF B(2,1) <> P THEN 1310 1300 IF B(2,2) = P THEN 1390 1310 FOR I = 0 TO 2 1320 FOR J = 0 TO 2 1330 IF B(I,J) <> 0 THEN 1350 1340 RETURN 1350 NEXT J 1360 NEXT I 1370 PRINT "***** DRAW *****" 1380 GOTO 1430 1390 IF P = 2 THEN 1420 1400 PRINT "***** X WINS *****" 1410 GOTO 1430 1420 PRINT "***** O WINS *****" 1430 PRINT 1440 PRINT 1450 PRINT 1460 PRINT "NEW GAME:" 1470 PRINT 1480 GOTO 310 1490 REM SUBROUTINE TO DETERMINE WINNING MOVES AND FORCED BLOCKS 1500 IF B(0,0) <> P THEN 1630 1510 IF B(0,1) <> P THEN 1530 1520 IF B(0,2) = 0 THEN 2140 1530 IF B(0,2) <> P THEN 1550 1540 IF B(0,1) = 0 THEN 2120 1550 IF B(1,1) <> P THEN 1570 1560 IF B(2,2) = 0 THEN 2260 1570 IF B(2,2) <> P THEN 1590 1580 IF B(1,1) = 0 THEN 2180 1590 IF B(1,0) <> P THEN 1610 1600 IF B(2,0) = 0 THEN 2220 1610 IF B(2,0) <> P THEN 1630 1620 IF B(1,0) = 0 THEN 2160 1630 IF B(0,1) <> P THEN 1720 1640 IF B(0,0) <> P THEN 1660 1650 IF B(0,2) = 0 THEN 2140 1660 IF B(0,2) <> P THEN 1680 1670 IF B(0,0) = 0 THEN 2100 1680 IF B(1,1) <> P THEN 1700 1690 IF B(2,1) = 0 THEN 2240 1700 IF B(2,1) <> P THEN 1720 1710 IF B(1,1) = 0 THEN 2180 1720 IF B(0,2) <> P THEN 1810 1730 IF B(1,1) <> P THEN 1750 1740 IF B(2,0) = 0 THEN 2220 1750 IF B(2,0) <> P THEN 1770 1760 IF B(1,1) = 0 THEN 2180 1770 IF B(1,2) <> P THEN 1790 1780 IF B(2,2) = 0 THEN 2260 1790 IF B(2,2) <> P THEN 1810 1800 IF B(1,2) = 0 THEN 2200 1810 IF B(1,0) <> P THEN 1880 1820 IF B(2,0) <> P THEN 1840 1830 IF B(0,0) = 0 THEN 2100 1840 IF B(1,1) <> P THEN 1860 1850 IF B(1,2) = 0 THEN 2200 1860 IF B(1,2) <> P THEN 1880 1870 IF B(1,1) = 0 THEN 2180 1880 IF B(1,1) <> P THEN 1970 1890 IF B(2,2) <> P THEN 1910 1900 IF B(0,0) = 0 THEN 2100 1910 IF B(2,0) <> P THEN 1930 1920 IF B(0,2) = 0 THEN 2140 1930 IF B(2,1) <> P THEN 1950 1940 IF B(0,1) = 0 THEN 2120 1950 IF B(1,2) <> P THEN 1970 1960 IF B(1,0) = 0 THEN 2160 1970 IF B(1,2) <> P THEN 2000 1980 IF B(2,2) <> P THEN 2000 1990 IF B(0,2) = 0 THEN 2140 2000 IF B(2,0) <> P THEN 2050 2010 IF B(2,1) <> P THEN 2030 2020 IF B(2,2) = 0 THEN 2260 2030 IF B(2,2) <> P THEN 2050 2040 IF B(2,1) = 0 THEN 2240 2050 IF B(2,1) <> P THEN 2080 2060 IF B(2,2) <> P THEN 2080 2070 IF B(2,0) = 0 THEN 2220 2080 LET M = 0 2090 RETURN 2100 LET M = 1 2110 RETURN 2120 LET M = 2 2130 RETURN 2140 LET M = 3 2150 RETURN 2160 LET M = 4 2170 RETURN 2180 LET M = 5 2190 RETURN 2200 LET M = 6 2210 RETURN 2220 LET M = 7 2230 RETURN 2240 LET M = 8 2250 RETURN 2260 LET M = 9 2270 RETURN 2280 REM SUBROUTINE TO FLIP-FLOP PLAYER P 2290 IF P = 1 THEN 2320 2300 LET P = 1 2310 RETURN 2320 LET P = 2 2330 RETURN 2340 END [/spoiler] | labelminimizesubject |
War | Digital Equipment Computer Users' Society | 1970 | [media=youtube]zP8OwG3Ysl0[/media]***War simulates the card game of the same name. Both the player and the computer get half a deck of cards and show the top card on their deck each turn, whoever has the highest card wins that turn. When cards of equal value are placed each player draws another card and whoever wins that battle wins all previous cards. The game continues until a player has ran out of cards or the player decides to stop.***Videogame Programm Files [spoiler=show source code;hide source code] 100' NAME--WAR 110' 120' DESCRIPTION--PLAYS THE CARD GAME OF WAR. 130' 140' SOURCE--UNKNOWN 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW INSTRUCTIONS, A TIE 170' MAKES NO SCORE AT ALL. 180' 190' 200' * * * * * * MAIN PROGRAM * * * * * * * * * * * * 210' 220 PRINT "THIS IS THE CARD GAME OF WAR. EACH CARD IS GIVEN BY SUIT-#"; 230 PRINT "AS S-7 FOR SPADE 7. "; 240 PRINT "DO YOU WANT DIRECTIONS"; 250 INPUT B$ 260 IF B$="NO" THEN 330 270 IF B$="YES" THEN 300 280 PRINT "YES OR NO, PLEASE. "; 290 GO TO 240 300 PRINT "THE 625 GIVES YOU AND IT A 'CARD'. THE HIGHER 'CARD' "; 310 PRINT "(NUMERICALLY) WINS. THE GAME ENDS WHEN YOU CHOOSE NOT"; 320 PRINT " TO CONTINUE OR WHEN YOU HAVE FINISHED THE PACK." 330 PRINT 340 PRINT 350 DIM A$(52), L(54) 360 FOR I=1 TO 52 370 READ A$(I) 380 NEXT I 390 RANDOM 400 FOR J=1 TO 52 410 LET L(J)=INT(52*RND+1) 420 FOR K=1 TO J-1 430 IF L(K)<>L(J) THEN 460 440 LET J=J-1 450 GO TO 470 460 NEXT K 470 NEXT J 480 LET P=P+1 490 LET M1=L(P) 500 LET P=P+1 510 LET M2=L(P) 520 PRINT 530 PRINT 540 PRINT "YOU: ";A$(M1), "625: ";A$(M2), 550 LET N1=INT((M1-.5)/4) 560 LET N2=INT((M2-.5)/4) 570 IF N1>=N2 THEN 610 580 LET A1=A1+1 590 PRINT "625 WINS. YOU HAVE";B1;"; 625 HAS";A1 600 GO TO 660 610 IF N1=N2 THEN 650 620 LET B1=B1+1 630 PRINT "YOU WIN. YOU HAVE";B1;"; 625 HAS";A1 640 GO TO 660 650 PRINT "TIE. NO SCORE CHANGE." 660 IF L(P+1)=0 THEN 730 670 PRINT "DO YOU WANT TO CONTINUE"; 680 INPUT V$ 690 IF V$="YES" THEN 480 700 IF V$="NO" THEN 770 710 PRINT "YES OR NO, PLEASE. "; 720 GO TO 660 730 PRINT 740 PRINT 750 PRINT "YOU HAVE RUN OUT OF CARDS. FINAL SCORE: YOU--";B1; 760 PRINT "; 625--";A1 770 PRINT "THANKS FOR PLAYING. IT WAS FUN." 780 DATA S-2,H-2,C-2,D-2,S-3,H-3,C-3,D-3,S-4,H-4,C-4,D-4,S-5,H-5,C-5 790 DATA D-5,S-6,H-6,C-6,D-6,S-7,H-7,C-7,D-7,S-8,H-8,C-8,D-8,S-9,H-9 800 DATA C-9,D-9,S-10,H-10,C-10,D-10,S-J,H-J,C-J,D-J,S-Q,H-Q,C-Q,D-Q 810 DATA S-K,H-K,C-K,D-K,S-A,H-A,C-A,D-A 820 END [/spoiler] | labelminimizesubject |
Bandit | Digital Equipment Computer Users' Society | 1970 | [media=youtube]D9zRn4VteC8[/media]***Bandit is a text-based slot machine simulation game written in BASIC for the PDP-10. The player starts with an initial balance and can try to make a winning by playing the slot machine. The bandit's arm is pulled by pressing the return key. The game is over when the player runs out of money. The player is free to determine the amount of money to spend on each spin.***Video game programming lines [spoiler=show source code;hide source code] 100' NAME--BANDIT 110' 120' DESCRIPTION--THE COMPUTER IS A SLOT MACHINE AND YOU ARE THE PLAYER 130' 140' SOURCE--UNKNOWN 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW INSTRUCTIONS. 170' 180' 190' * * * * * * MAIN PROGRAM * * * * * * * * * * 200' 210 PRINT"THIS DEMONSTRATION SHOWS YOU SOME VERSATILE FEATURES" 220 PRINT" OF DIGITAL EQUIPMENTS TIMESHARING PDP 10 BY SIMULATING A SLOT" 230 PRINT"MACHINE --- THE ONE-ARMED BANDIT." 240 PRINT 250 GOTO 410 260 PRINT"WHAT IS YOUR LUCKY NUMBER TODAY, BETWEEN 1 AND 711"; 270 INPUT Q 280 IF Q<1 THEN 240 290 IF Q>711 THEN 240 300 PRINT 310 DATA 43 320 READ Q9 330 LET U=INT(Q+Q9) 340 FOR I=1 TO U 350 LET V=RND 360 NEXT I 370 LET S=INT(30+15*V) 380 PRINT"GOOD. YOUR STARTING BALANCE IS $";S 390 GOTO 510 400 PRINT 410 PRINT"EACH PLAY YOU CAN PUT ANY AMOUNT OF SILVER DOLLARS INTO" 420 PRINT"THE MACHINE, UP TO THE BALANCE YOU HAVE, BY TYPING IN" 430 PRINT"THE QUANTITY OF DOLLARS." 440 PRINT 450 PRINT"YOU 'PULL DOWN THE HANDLE' BY DEPRESSING THE 'RETURN' KEY." 460 PRINT 470 PRINT"WHEN YOUR BALANCE REACHES ZERO, THE GAME IS OVER....." 480 PRINT"OR TYPE 'STOP' TO QUIT AT ANY TIME. GOOD LUCK..." 490 PRINT 500 GOTO 260 510 PRINT"HOW MANY DOLLARS DO YOU WANT TO PUT IN ON YOUR FIRST PLAY"; 520 INPUT Z 530 IF Z<=0 THEN 550 540 IF Z<S+1 THEN 580 550 PRINT 560 PRINT "...ILLEGAL PLAY....TRY AGAIN"; 570 GOTO 520 580 PRINT 590 DIM R(3),T(3),P(3,6) 600 FOR I=1 TO 3 610 FOR J=1 TO 6 620 READ P(I,J) 630 NEXT J 640 NEXT I 650 LET E4=0 660 FOR I=1 TO 3 670 LET R=RND 680 FOR J=1 TO 6 690 LET T(I)=J 700 IF R<P(I,J) THEN 720 710 NEXT J 720 NEXT I 730 FOR I=1 TO 3 740 LET W=T(I) 750 IF W=1 THEN 810 760 IF W=2 THEN 830 770 IF W=3 THEN 850 780 IF W=4 THEN 870 790 IF W=5 THEN 890 800 IF W=6 THEN 910 810 PRINT"LEMON "; 820 GOTO 930 830 PRINT"CHERRY "; 840 GOTO 930 850 PRINT"ORANGE "; 860 GOTO 930 870 PRINT"PLUM "; 880 GOTO 930 890 PRINT"BELL "; 900 GOTO 930 910 PRINT"LIBERTY "; 920 GOTO 930 930 NEXT I 940 LET D=100*T(1)+10*T(2)+T(3) 950 IF D=221 THEN 1100 960 IF D=223 THEN 1100 970 IF D=224 THEN 1100 980 IF D=225 THEN 1110 990 IF D=226 THEN 1130 1000 IF D=333 THEN 1170 1010 IF D=444 THEN 1190 1020 IF D=555 THEN 1210 1030 IF D=336 THEN 1230 1040 IF D=446 THEN 1250 1050 IF D=556 THEN 1270 1060 IF D=666 THEN 1290 1070 LET D=0 1080 PRINT "...A LOSER "; 1090 GOTO 1330 1100 LET D=2*Z 1110 LET D=4*Z 1120 GOTO 1330 1130 LET D=6*Z 1140 GOTO 1330 1150 LET D=8*Z 1160 GOTO 1330 1170 LET D=10*Z 1180 GOTO 1330 1190 LET D=12*Z 1200 GOTO 1330 1210 LET D=14*Z 1220 GOTO 1330 1230 LET D=16*Z 1240 GOTO 1330 1250 LET D=18*Z 1260 GOTO 1330 1270 LET D=20*Z 1280 GOTO 1330 1290 LET D=INT(200+400*RND) 1300 PRINT "...YOU HIT THE JACKPOT OF $";D 1310 PRINT 1320 LET E4=1 1330 LET S=S+D-Z 1340 IF S>0 THEN 1380 1350 PRINT 1360 PRINT "YOU HAVE RUN OUT OF MONEY..." 1370 GOTO 1520 1380 IF D=0 THEN 1410 1390 IF E4=1 THEN 1410 1400 PRINT "YOU WIN: $";D; 1410 PRINT "BALANCE: $";S;"AGAIN"; 1420 INPUT Z 1430 IF Z<=0 THEN 1460 1440 IF Z=999 THEN 1510 1450 IF Z<S+1 THEN 1490 1460 PRINT 1470 PRINT "...ILLEGAL PLAY....TRY AGAIN"; 1480 GOTO 1420 1490 PRINT 1500 GOTO 660 1510 PRINT 1520 PRINT"THE GAME IS OVER...BETTER LUCK NEXT TIME." 1530 GOTO1570 1540 DATA 0.00, 0.40, 0.65, 0.83, 0.94, 1.00 1550 DATA 0.10, 0.45, 0.65, 0.80, 0.90, 1.00 1560 DATA 0.30, 0.30, 0.50, 0.70, 0.82, 1.00 1570 PRINT 1580 PRINT 1590 PRINT 1600 PRINT 1610 PRINT 1620 PRINT 1630 PRINT 1640 PRINT 1650 PRINT 1660 END [/spoiler] | labelminimizesubject |
Batnum | Digital Equipment Computer Users' Society | 1970 | BASIC***[media=youtube]D9zRn4VteC8[/media]***Batnum is a "battle of numbers" against the computer. There is a distinct number of items on a pile and the player and computer take turns removing items. Depending on the choices made at the start of the game whoever picks the first or last item wins the game. The player can also determine the maximum number of items that can be taken in a turn.***Video game programming lines [spoiler=show source code;hide source code] 100' NAME--BATNUM 110' 120' DESCRIPTION--BATTLE OF NUMBERS BETWEEN USER AND COMPUTER 130' 140' SOURCE--UNKNOWN 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW INSTRUCTIONS. 170' 180' 190' * * * * * * MAIN PROGRAM * * * * * * * * * * * 200' 210 PRINT"THIS DEMONSTRATION SHOWS YOU SOME VERSATILE FEATURES OF" 220 PRINT"PDP-10 TIME-SHARING SERVICE. IT IS A 'BATTLE-OF-NUMBERS'" 230 PRINT"GAME, WHERE THE COMPUTER IS YOUR OPPONENT." 240 PRINT 250 PRINT"THE GAME STARTS WITH AN ASSUMED PILE OF OBJECTS.YOU AND" 260 PRINT"YOUR OPPONENT ALTERNATLY REMOVE OBJECTS FROM THE PILE." 270 PRINT"WINNING IS DEFINED IN ADVANCE AS TAKING THE LAST OBJECT" 280 PRINT"OR NOT. YOU CAN ALSO SPECIFY SOME OTHER BEGINNING" 290 PRINT"CONDITIONS. DON'T USE ZERO, HOWEVER, IN PLAYING THE GAME." 300 PRINT 310 PRINT 320 GOTO 440 330 PRINT 340 PRINT 350 PRINT 360 PRINT 370 PRINT 380 PRINT 390 PRINT 400 PRINT 410 PRINT 420 PRINT 430 PRINT 440 PRINT"ENTER PILE SIZE:"; 450 INPUT N 460 IF N<>0 THEN 480 470 GOTO 440 480 IF N<>INT(N) THEN 330 490 IF N<1 THEN 330 500 PRINT "ENTER WIN OPTION - 1 TO TAKE LAST, 2 TO AVOID LAST: "; 510 INPUT M 520 IF M=1 THEN 540 530 IF M<>2 THEN 500 540 PRINT "ENTER MIN AND MAX: "; 550 INPUT A,B 560 IF A>B THEN 540 570 IF A<1 THEN 540 580 IF A<>INT(A) THEN 540 590 IF B<>INT(B) THEN 540 600 PRINT"ENTER START OPTION - 1 COMPUTER FIRST, 2 YOU FIRST:"; 610 INPUT S 620 IF S=1 THEN 640 630 IF S<>2 THEN 600 640 LET C=A+B 650 IF S=2 THEN 680 660 GOSUB 710 670 IF W=1 THEN 330 680 GOSUB 920 690 IF W=1 THEN 330 700 GO TO 660 710 LET Q=N 720 IF M=1 THEN 740 730 LET Q=Q-1 740 IF M=1 THEN 790 750 IF N>A THEN 830 760 LET W=1 770 PRINT"COMPUTER TAKES";N;"AND LOSES." 780 RETURN 790 IF N>B THEN 830 800 LET W=1 810 PRINT"COMPUTER TAKES";N;"AND WINS." 820 RETURN 830 LET P=Q-C*INT(Q/C) 840 IF P>=A THEN 860 850 LET P=A 860 IF P<=B THEN 880 870 LET P=B 880 LET N=N-P 890 PRINT"COMPUTER TAKES";P;"AND LEAVES";N 900 LET W=0 910 RETURN 920 PRINT "YOUR MOVE: "; 930 INPUT P 940 IF P<>0 THEN 980 950 PRINT"I TOLD YOU NOT TO USE ZERO...COMPUTER WINS BY FORFEIT." 960 LET W=1 970 RETURN 980 IF P<>INT(P) THEN 1030 990 IF P>=A THEN 1020 1000 IF P=N THEN 1070 1010 GO TO 1030 1020 IF P<=B THEN 1050 1030 PRINT "ILLEGAL MOVE, REENTER IT: "; 1040 GO TO 930 1050 LET N=N-P 1060 IF N<>0 THEN 1140 1070 IF M=1 THEN 1110 1080 PRINT"TOUGH LUCK, YOU LOSE." 1090 LET W=1 1100 RETURN 1110 PRINT"CONGRATULATIONS, YOU WIN." 1120 LET W=1 1130 RETURN 1140 IF N>=0 THEN 1170 1150 LET N=N+P 1160 GO TO 1030 1170 LET W=0 1180 RETURN 1190 END [/spoiler] | labelimagesubject |
Bridge | Digital Equipment Computer Users' Society | 1970 | Bridge offers a practice session for the player. The game allows the player to bid on a given situation and will ask the player questions about the situation, when incorrect the player is told the correct answer or hints on what to do.***Videogame Programm lines [spoiler=show source code;hide source code] 100' NAME--BRIDGE 110' 120' DESCRIPTION--BRIDGE PRACTICE SESSION. 130' 140' SOURCE--UNKNOWN 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW INSTRUCTIONS 170' 180' 190' * * * * * * MAIN PROGRAM * * * * * * * * * * * * * 200' 210 RANDOMIZE 220 MAT READ D$(4) 230 MAT READ B$(5) 240 DATA JACK,QUEEN,KING,ACE,CLUBS,DIAMONDS,HEARTS,SPADES,NO TRUMP 250 PRINT "WELCOME TO THE DIGITAL BRIDGE PRACTICE SESSION." 260 PRINT"IN MAKING BIDS TWO NUMBERS ARE TO BE TYPED." 270 PRINT"THE FIRST IS THE AMOUNT OF THE BID, THE SECOND REPRESENTS" 280 PRINT"THE SUIT BID; 1=CLUBS,2=DIAMONDS,3=HEARTS,4=SPADES,5=N.T." 290 PRINT"THUS, 4 HEARTS IS '4,3'. A PASS IS '0,0'." 300 DIM I(13,4) 310 GOTO 380 320 PRINT "DO YOU WANT TO CONTINUE"; 330 INPUT Q$ 340 IF Q$="NO" THEN 2310 350 IF Q$="YES" THEN 380 360 PRINT"INCORRECT ANSWER. TYPE 'YES' OR 'NO'"; 370 GOTO 330 380 LET P=0 390 FOR S=1 TO 13 400 FOR T=0TO3 420 LET I(S,T)=-1 430 NEXT T 440 NEXT S 450 FOR T=0 TO 3 460 LET G(T)=1 470 NEXT T 480 LET N=52 490 PRINT 500PRINT 510 PRINT 520 DIM Z(100) 530 PRINT "CARDS DEALT" 540 PRINT 550 PRINT "CLUBS","DIAMONDS","HEARTS","SPADES" 560 FOR Z1=1 TO N 570 LET Z(Z1)=Z1 580 NEXT Z1 590 FOR Z1=1 TO 13 600 LET Z2=1+INT((N-Z1+1)*RND) 610 LET X=Z(Z2) 620 FOR Z3=Z2TON-Z1 630 LET Z(Z3)=Z(Z3+1) 640 NEXT Z3 650 LET C=INT(X/13) 660 LET D=X-C*13+2 670 IF C<>4 THEN 690 680 LET C=0 690 IF Z1>13 THEN 720 700 LET I(G(C),C)=D 710 LET G(C)=G(C)+1 720 NEXT Z1 730 FOR Z1=0 TO 3 740 FOR S=1TO13 750 FOR T=1TOS 760 IF I(S,Z1)<I(T,Z1) THEN 800 770 LET D=I(S,Z1) 780 LET I(S,Z1)=I(T,Z1) 790 LET I(T,Z1)=D 800 NEXT T 810 NEXT S 820 NEXT Z1 830 LET Z1=0 840 FOR N=0TO3 850 LET P(N)=0 860 NEXT N 870 FOR S=1 TO 13 880 PRINT 890 FOR N=0 TO 3 900 LET D=I(S,N) 910 IF D<>-1 THEN 940 920 PRINT " ", 930 GOTO 1020 940 LET Z1=Z1+1 950 IF D<=10 THEN 970 960 GOTO 990 970 PRINT D, 980 GOTO 1010 990 PRINT D$(D-10), 1000 LET P(N)=P(N)-10+D 1010 IF Z1>=13 THEN 1040 1020 NEXT N 1030 NEXT S 1040 LET P=P(0)+P(1)+P(2)+P(3) 1050 FOR N=0TO3 1060 LET Q(N)=G(N)-1 1070 IF Q(N)<>0 THEN 1090 1080 LET P=P+3 1090 IF Q(N)<>1 THEN 1110 1100 LET P=P+2 1110 IF Q(N)<>2 THEN 1130 1120 LET P=P+1 1130 NEXT N 1140 PRINT 1150 PRINT 1160 PRINT "COUNT THE POINTS, AND TYPE IT"; 1170 INPUT P1 1180 IF P1 <> P THEN 1210 1190 PRINT "CORRECT" 1200 GO TO 1220 1210 PRINT "WRONG. BY THE OFFICIAL COUNT YOU HAVE";P;"POINTS." 1220 PRINT "PLEASE MAKE YOUR BID"; 1230 INPUT L7, N7 1240 IF P >6 THEN 1280 1250 LET L6 = 0 1260 GOSUB 2180 1270 GOTO 2170 1280 REM 1290 IF P>10 THEN 1380 1300 FOR N=OTO3 1310 IF G(N)-1<7 THEN 1360 1320 LET N6 = N + 1 1330 LET L6 = 3 1340 GOSUB 2180 1350 GO TO 2170 1360 NEXT N 1370 GO TO 1250 1380 IF P>=14 THEN 1400 1390 GOTO 1250 1400 REM 1410 IF P<16 THEN 1630 1420 IF P>=19 THEN 1510 1430 FOR N=0 TO 3 1440 LET Q(N)=G(N)-1 1450 IF Q(N)+P(N)<5 THEN 1630 1460 NEXT N 1470 LET L6 = 1 1480 LET N6 = 5 1490 GOSUB 2180 1500 GOTO 2170 1510 IF P<22 THEN 1630 1520 IF P>=25 THEN 1590 1530 FOR N=0 TO 3 1540 LET Q(N)=G(N)-1 1550 IF Q(N)+P(N)<5 THEN 1630 1560 NEXT N 1570 LET L6 = 2 1580 GO TO 1480 1590 IF P>=28 THEN 1610 1600 GOTO 1940 1610 PRINT "SLAM PROBABLE. BID TWO, THEN PROCEED TO GAME OR SLAM TRY." 1620 GOTO 2170 1630 FOR N=0 TO 3 1640 LET Q(N)=G(N)-1 1650 NEXT N 1660 FOR I=0 TO 3 1670 LET S(I)=I 1680 NEXT I 1690 FOR N=0 TO 3 1700 FOR E=0 TO N 1710 IF Q(N)<Q(E) THEN 1780 1720 LET B1=Q(N) 1730 LET Q(N)=Q(E) 1740 LET Q(E)=B1 1750 LET X1=S(N) 1760 LET S(N)=S(E) 1770 LET S(E)=X1 1780 NEXT E 1790 NEXT N 1800 FOR I=0TO3 1810 LET N=S(I) 1820 IF Q(0)>Q(1) THEN 1850 1830 IF P(S(0))>P(S(1)) THEN 1850 1840 LET N=S(1) 1850 IF Q(I)<4 THEN 1910 1860 IF P(N)<3 THEN 1910 1870 LET N6 = N+1 1880 LET L6 = 1 1890 GOSUB 2180 1900 GO TO 2170 1910 NEXT I 1920 LET N6 = 1 1930 GO TO 1880 1940 FOR I= 0 TO 3 1950 LET S(I)=I 1960 NEXT I 1970 FOR N=0 TO 3 1980 FOR E=0 TO N 1990 IF Q(N)<Q(E) THEN 2060 2000 LET B1=Q(N) 2010 LET Q(N)=Q(E) 2020 LET Q(E)=B1 2030 LET X1=S(N) 2040 LET S(N)=S(E) 2050 LET S(E)=X1 2060 NEXT E 2070 NEXT N 2080 FOR I=0 TO 3 2090 LET N=S(I) 2100 IF Q(I)<4 THEN 2160 2110 IF P(N)<3 THEN 2160 2120 LET N6 = N+1 2130 LET L6 = 2 2140 GOSUB 2180 2150 GO TO 2170 2160 NEXT I 2170 GOTO 320 2180 IF L6 <> L7 THEN 2290 2190 IF L6 = 0 THEN 2210 2200 IF N7 <> N6 THEN 2290 2210 PRINT "CORRECT. "; 2220 PRINT "THE OFFICIAL BID IS"; 2230 IF L6 <> 0 THEN 2260 2240 PRINT " PASS." 2250 RETURN 2260 PRINT L6; 2270 PRINT B$(N6);"." 2280 RETURN 2290 PRINT "WRONG. "; 2300 GO TO 2220 2310 END [/spoiler] | labelminimizesubject |
Craps | Digital Equipment Computer Users' Society | 1970 | Craps allows the player to try his virtual luck on a craps table. The player throws dice and can bet virtual money. The goal is to roll the same value again, but when throwing 7 or 11 the player loses his wager, throwing anything else prompts another throw. The game keeps track how much the player has won or lost.***Videogame Programming Lines [spoiler=show source code;hide source code] 100' NAME--CRAPS 110' 120' DESCRIPTIONS--A SESSION AT THE CRAPS TABLE. 130' 140' SOURCE--UNKNOWN 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW INSTRUCTIONS. 170' 180' 190' * * * * * * MAIN PROGRAM * * * * * * * * * * * * 200' 210 RANDOMIZE 220 PRINT 230 PRINT "WELCOME TO THE DIGITAL CRAPS TABLE." 240 PRINT "DO YOU WANT INSTRUCTIONS"; 250 INPUT Z$ 260 IF Z$="NO" THEN 350 270 IF Z$="YES" THEN 300 280 PRINT "INCORRECT ANSWER. PLEASE TYPE 'YES' OR 'NO'"; 290 GOTO 250 300 PRINT " ON THE FIRST THROW 2'S,3'S AND 12'S LOSE, 7'S AND 11'S" 310 PRINT " WIN. ON LATER THROWS 7'S AND 11'S LOSE, THE ORIGINAL" 320 PRINT " NUMBER WINS, AND ANY OTHER RESULT CAUSES ANOTHER THROW." 330 PRINT " BETS MAY RANGE FROM .01 TO 10000, TYPE '-1' TO FIND THE" 340 PRINT " STATE OF YOUR WINNINGS OR LOSSES, AND A '0' TO QUIT." 350 PRINT 360 PRINT 370 PRINT 380 PRINT " HOW MUCH DO YOU BET"; 390 INPUT B1 400 IF B1<0 THEN 840 410 IF B1=0 THEN 960 420 IF B1<5 THEN 940 430 IF B1>10000 THEN 820 440 LET T7=0 450 LET D1=INT(6*RND)+1 460 LET D2=INT(6*RND)+1 470 PRINT D1;D2; 480 LET T=D1+D2 490 IF T7>0 THEN 520 500 IF T=12 THEN 750 510 IF T=2 THEN 770 520 IF T=8 THEN 560 530 IF T=11 THEN 560 540 PRINT " A";T; 550 GOTO 570 560 PRINT " AN";T; 570 IF T7>0 THEN 630 580 IF T=3 THEN 780 590 IF T=7 THEN 710 600 IF T=11 THEN 710 610 LET D9=T 620 GOTO 680 630 IF T=7 THEN 780 640 IF T=11 THEN 780 650 IF T=D9 THEN 710 660 PRINT 670 GOTO 450 680 PRINT " YOUR NUMBER IS " T 690 LET T7=1 700 GOTO 450 710 PRINT " YOU WIN" 720 LET W=W+B1 730 PRINT " YOU WIN" B1;"DOLLARS" 740 GOTO 370 750 PRINT " BOXCARS....."; 760 GOTO 780 770 PRINT " SNAKES EYES....."; 780 LET W=W-B1 790 PRINT " YOU LOSE" 800 PRINT " YOU LOSE" B1; "DOLLARS" 810 GOTO 370 820 PRINT " ARE YOU KIDDING ME? TRY A LITTLE LESS" 830 GOTO 370 840 PRINT 850 IF W>=0 THEN 920 860 PRINT" YOU ARE BEHIND";-W;"DOLLARS--TRY SOME MORE"; 870 INPUT H$ 880 IF H$="NO" THEN 960 890 IF H$="YES" THEN 370 900 PRINT"INCORRECT ANSWER. PLEASE TYPE 'YES' OR 'NO'"; 910 GOTO 870 920 PRINT " YOU ARE AHEAD"W;" DOLLARS--HOW ABOUT A LITTLE MORE"; 930 GOTO 870 940 PRINT " YOU ARE A CHEAPSKATE--BUT I'LL PLAY" 950 GOTO 440 960 PRINT 970 PRINT 980 PRINT 990 PRINT 1000 IF W>=0 THEN 1040 1010 PRINT" YOU LOST";-W;"DOLLARS./. TOUGH LIFE" 1020 PRINT " LET THIS BE A LESSON" 1030 STOP 1040 PRINT " YOU WON " W; "DOLLARS...WILL SEND CHECK IMMEDIATELY" 1050 END [/spoiler] | labelimagesubject |
Football | Digital Equipment Computer Users' Society | 1970 | Football is probably the most popular simulated sports game. Some people have elected to play computerized football in preference to watching a bowl game on television. The simulation uses standard professional football rules ex- cept there are no penalties. The computer takes the part of your opposing team and also the referee. Eight plays can be run on offense and five on defense. The program presents necessary rules as you play.***Videogame Programming File [spoiler=show source code;hide source code] 100' NAME--FTBALL 110' 120' DESCRIPTIONS--GENERATES A DIGITAL CHAMPIONSHIP FOOTBALL GAME 130' WITH THE USER AS THE QUARTERBACK. 140' 150' SOURCE--JOHN G. KEMENY 160' 170' INSTRUCTIONS--TYPE "RUN" AND FOLLOW INSTRUCTIONS. 180' 190' 200' * * * * * * * MAIN PROGRAM * * * * * * * * * * * 210' 220 PRINT "THIS IS DIGITAL CHAMPIONSHIP FOOTBALL." 230 PRINT "YOU WILL QUARTERBACK DIGITAL. CALL PLAYS AS FOLLOWS:" 240 PRINT "1 = SIMPLE RUN; 2 = TRICKY RUN; 3 = SHORT PASS;" 250 PRINT "4 = LONG PASS; 5 = PUNT; 6 = QUICK KICK; 7 = PLACE KICK." 260 PRINT 270 PRINT "CHOOSE YOUR OPPONENT"; 280 INPUT O$(1) 290 LET O$(0) = "DIGITAL" 300 PRINT 310 LET S(0) = S(1) = 0 320 RANDOMIZE 330 DIM L$(20) 340 MAT READ L$ 350 DATA KICK,RECEIVE, YARDS , RUN BACK FOR , BALL ON 360 DATA YARD LINE, SIMPLE RUN, TRICKY RUN, SHORT PASS, LONG PASS 370 DATA PUNT, QUICK KICK, PLACE KICK, LOSS OF , NO GAIN 380 DATA GAIN OF , TOUCHDOWN , TOUCHBACK , SAFETY***,JUNK 390 LET P = INT(RND*2) 400 PRINT O$(P);" WON THE TOSS" 410 DEF FNF=1-2*P 420 DEF FNG = P*(X1-X) + (1-P)*(X-X1) 430 IF P = 0 THEN 470 440 PRINT O$(1); " ELECTS TO RECEIVE" 450 PRINT 460 GOTO 570 470 PRINT "DO YOU ELECT TO KICK OR RECEIVE"; 480 INPUT A$ 490 PRINT 500 FOR E = 1 TO 2 510 IF A$ = L$(E) THEN 550 520 NEXT E 530 PRINT "INCORRECT ANSWER. PLEASE TYPE 'KICK' OR 'RECEIVE'"; 540 GOTO 480 550 IF E = 2 THEN 570 560 LET P = 1 570 REM KICKOFF 580 LET X = 40 + (1-P)*20 590 LET Y = INT(200*(RND-.5)^3+55) 600 PRINT "KICKOFF GOOD FOR ";Y;L$(3) 610 LET X = X-FNF*Y 620 IF ABS(X-50)>=50 THEN 690 630 LET Y = INT(50*RND^2) + (1-P)*INT(50*RND^4) 640 PRINT L$(4); 650 LET X = X+FNF*Y 660 IF ABS(X-50)>=50 THEN 2600 670 PRINT Y;L$(3) 680 GOTO 720 690 REM TOUCHBACK 700 PRINT "TOUCHBACK FOR " O$(P) 710 LET X = 20 + P*60 720 REM FIRST DOWN 730 GOSUB 800 740 LET X1 = X 750 LET D = 1 760 PRINT "FIRST DOWN ";O$(P);"***" 770 PRINT 780 PRINT 790 GOTO 860 800 REM PRINT POSITION 810 IF X > 50 THEN 840 820 PRINT L$(5);O$(0);X;L$(6) 830 GOTO 850 840 PRINT L$(5);O$(1);100-X;L$(6) 850 RETURN 860 REM NEW PLAY 870 LET T = T+1 880 IF T = 30 THEN 1060 890 IF T < 50 THEN 940 900 IF RND > .2 THEN 940 910 PRINT "END OF GAME ***" 920 PRINT "FINAL SCORE: ";O$(0);S(0);" ";O$(1);S(1) 930 STOP 940 IF P = 1 THEN 1870 950 PRINT "NEXT PLAY"; 960 INPUT Z 970 IF Z<>INT(Z) THEN 990 980 IF ABS(Z-4)<=3 THEN 1010 990 PRINT "ILLEGAL PLAY NUMBER, RETYPE."; 1000 GOTO 960 1010 LET F = 0 1020 PRINT L$(Z+6);". "; 1030 LET R = RND*(.98+FNF*.02) 1040 LET R1 = RND 1050 ON Z GOTO 1110,1150,1260,1480,1570,1570,1680 1060 REM JEAN'S SPECIAL 1070 IF RND > 1/3 THEN 940 1080 PRINT "GAME DELAYED. DOG ON FIELD." 1090 PRINT 1100 GOTO 940 1110 REM SIMPLE RUN. 1120 LET Y = INT(24*(R-.5)^3+3) 1130 IF RND < .05 THEN 1180 1140 GOTO 2190 1150 REM TRICKY RUN. 1160 LET Y = INT(20*R-5) 1170 IF RND > .1 THEN 2190 1180 LET F = -1 1190 LET X3 = X 1200 LET X = X + FNF*Y 1210 IF ABS(X-50) >= 50 THEN 1240 1220 PRINT "*** FUMBLE AFTER "; 1230 GOTO 2230 1240 PRINT "*** FUMBLE." 1250 GOTO 2450 1260 REM SHORT PASS. 1270 LET Y = INT(60*(R1-.5)^3+10) 1280 IF R < .05 THEN 1330 1290 IF R < .15 THEN 1390 1300 IF R < .55 THEN 1420 1310 PRINT "COMPLETE. "; 1320 GOTO 2190 1330 IF D=4 THEN 1420 1340 PRINT "INTERCEPTED." 1350 LET F = -1 1360 LET X = X+FNF*Y 1370 IF ABS(X-50)>=50 THEN 2450 1380 GOTO 2300 1390 PRINT "PASSER TACKLED. "; 1400 LET Y = -INT(10*R1) 1410 GOTO 2190 1420 LET Y=0 1430 IF RND<.3 THEN 1460 1440 PRINT "INCOMPLETE. "; 1450 GOTO 2190 1460 PRINT "BATTED DOWN. "; 1470 GOTO 2190 1480 REM LONG PASS. 1490 LET Y = INT(160*(R1-.5)^3+30) 1500 IF R < .1 THEN 1330 1510 IF R<.3 THEN 1540 1520 IF R < .75 THEN 1420 1530 GOTO 1310 1540 PRINT "PASSER TACKLED. "; 1550 LET Y = -INT(15*R1+3) 1560 GOTO 2190 1570 REM PUNT OR QUICK KICK. 1580 LET Y = INT(100*(R-.5)^3+35) 1590 IF D = 4 THEN 1610 1600 LET Y = INT(Y*1.3) 1610 PRINT "PUNT GOOD FOR "; Y; L$(3) 1620 IF ABS(X+Y*FNF-50)>=50 THEN 1670 1630 IF D < 4 THEN 1670 1640 LET Y1 = INT(R1^2*20) 1650 PRINT "RUN BACK FOR "; Y1; L$(3) 1660 LET Y = Y-Y1 1670 GOTO 1350 1680 REM PLACE KICK. 1690 LET Y = INT(100*(R-.5)^3+35) 1700 IF R1 > .15 THEN 1750 1710 PRINT "KICK IS BLOCKED***" 1720 LET X = X-5*FNF 1730 LET P = 1-P 1740 GOTO 720 1750 LET X = X+FNF*Y 1760 IF ABS(X-50)>=60 THEN 1810 1770 PRINT "KICK IS SHORT." 1780 IF ABS(X-50)>=50 THEN 2710 1790 LET P = 1-P 1800 GOTO 630 1810 IF R1 > .5 THEN 1840 1820 PRINT "KICK IS OFF TO THE SIDE." 1830 GOTO 2710 1840 PRINT "FIELD GOAL***" 1850 LET S(P) = S(P)+3 1860 GOTO 2640 1870 REM OPPONENT'S PLAY 1880 IF D > 1 THEN 1940 1890 IF RND > 1/3 THEN 1920 1900 LET Z = 3 1910 GOTO 1010 1920 LET Z = 1 1930 GOTO 1010 1940 IF D = 4 THEN 2090 1950 IF 10+X-X1 < 5 THEN 1890 1960 IF X<5 THEN 1890 1970 IF X<=10 THEN 2160 1980 IF X > X1 THEN 2020 1990 LET A = INT(2*RND) 2000 LET Z = 2+A*2 2010 GOTO 1010 2020 IF D < 3 THEN 1990 2030 IF X < 45 THEN 1990 2040 IF RND > 1/4 THEN 2070 2050 LET Z = 6 2060 GOTO 1010 2070 LET Z = 4 2080 GOTO 1010 2090 IF X > 30 THEN 2140 2100 IF 10+X-X1 < 3 THEN 1890 2110 IF X<3 THEN 1890 2120 LET Z = 7 2130 GOTO 1010 2140 LET Z = 5 2150 GOTO 1010 2160 LET A = INT(2*RND) 2170 LET Z = 2+A 2180 GOTO 1010 2190 REM GAIN OR LOSS 2200 LET X3 = X 2210 LET X = X + FNF*Y 2220 IF ABS(X-50)>=50 THEN 2450 2230 PRINT L$(15+SGN(Y)); 2240 IF Y = 0 THEN 2270 2250 PRINT ABS(Y);L$(3) 2260 GOTO 2280 2270 PRINT 2280 IF ABS(X3-50)>40 THEN 2300 2290 IF RND<.1 THEN 2860 2300 GOSUB 800 2310 IF F=0 THEN 2340 2320 LET P = 1-P 2330 GOTO 740 2340 IF FNG >= 10 THEN 740 2350 IF D = 4 THEN 2320 2360 LET D = D+1 2370 PRINT "DOWN ";D;"AND "; 2380 IF (X1-50)*FNF < 40 THEN 2410 2390 PRINT "GOAL TO GO" 2400 GOTO 2420 2410 PRINT 10-FNG;"YARDS TO GO" 2420 PRINT 2430 PRINT 2440 GOTO 860 2450 REM BALL IN END-ZONE 2460 IF X >= 100 THEN 2490 2470 LET E = 0 2480 GOTO 2500 2490 LET E = 1 2500 ON 1+E-F*2+P*4 GOTO 2510,2590,2760,2710,2590,2510,2710,2760 2510 REM SAFETY 2520 LET S(1-P) = S(1-P)+2 2530 PRINT L$(19) 2540 GOSUB 2800 2550 PRINT O$(P); " KICKS OFF FROM ITS 20 YARD LINE." 2560 LET X = 20 + P*60 2570 LET P = 1-P 2580 GOTO 590 2590 REM OFFENSIVE TD 2600 PRINT L$(17);"***" 2610 IF RND > .8 THEN 2680 2620 LET S(P) = S(P)+7 2630 PRINT "KICK IS GOOD" 2640 GOSUB 2800 2650 PRINT O$(P);" KICKS OFF" 2660 LET P = 1-P 2670 GOTO 570 2680 PRINT "KICK IS OFF TO THE SIDE" 2690 LET S(P) = S(P)+6 2700 GOTO 2640 2710 REM TOUCHBACK 2720 PRINT L$(18) 2730 LET P = 1-P 2740 LET X = 20 + P*60 2750 GOTO 720 2760 REM DEFENSIVE TD 2770 PRINT L$(17);"FOR ";O$(1-P);"***" 2780 LET P = 1-P 2790 GOTO 2600 2800 REM SCORE 2810 PRINT 2820 PRINT "SCORE: ";S(0);" TO ";S(1) 2830 PRINT 2840 PRINT 2850 RETURN 2860 REM PENALTY 2870 LET P3 = INT(2*RND) 2880 PRINT O$(P3);" OFFSIDES -- PENALTY OF 5 YARDS." 2890 PRINT 2900 PRINT 2910 IF P3 = 0 THEN 2980 2920 PRINT "DO YOU ACCEPT THE PENALTY"; 2930 INPUT A$ 2940 IF A$="NO"THEN 2300 2950 IF A$="YES" THEN 3110 2960 PRINT "TYPE 'YES' OR 'NO'"; 2970 GOTO 2930 2980 REM OPPONENT'S STRATEGY ON PENALTY 2990 IF P = 1 THEN 3040 3000 IF Y <= 0 THEN 3080 3010 IF F < 0 THEN 3080 3020 IF FNG < 3*D-2 THEN 3080 3030 GOTO 3100 3040 IF Y <= 5 THEN 3100 3050 IF F < 0 THEN 3100 3060 IF D < 4 THEN 3080 3070 IF FNG < 10 THEN 3100 3080 PRINT "PENALTY REFUSED." 3090 GOTO 2300 3100 PRINT "PENALTY ACCEPTED." 3110 LET F = 0 3120 LET D = D-1 3130 IF P<>P3 THEN 3160 3140 LET X = X3-FNF*5 3150 GOTO 2300 3160 LET X = X3+FNF*5 3170 GOTO 2300 3180 END [/spoiler] | labelimagesubject |
Monoply | Digital Equipment Computer Users' Society | 1970 | It is the version of Monopoli, written in BASIC. MNOPLY is a simulation of the most popular board game in the world, Monopoly. It varies from the actual game only in that two players are the maximum number that can play.***[spoiler=show source code;hide source code]10 DIM P$(41),S(41),R(41),V(41),J(41),M(41),K(21),L(41),C(41),B(41),O(41) 20 PRINT "HOW MANY PLAYERS"; 30 PRINT "(TYPE '0' FOR INSTRUCTIONS)"; 40 INPUT N 50 IF N>0 THEN 80 60 GOSUB 8580 70 GOTO 20 80 IF N<11 THEN 110 90 PRINT" NO MORE THAN 10 CAN PLAY" 100 GOTO 20 110 FOR Q5 = 1 TO N 120 PRINT "NAME"; 130 REM THIS PART STARTED FROM 151-2 140 REM A(B)=0 FOR HUMAN, 1 FOR COMPUTER 150 GOTO 210 160 LET N$(Q5)="COMPUTER" 170 A(Q5)=1 180 W7=W7+1 190 REM W7 IS # OF COMPUTER PLAYERS 200 GOTO 360 210 INPUT N$(Q5) 220 IF N$(Q5)="COMPUTER" THEN 160 230 IF N$(Q5)="YOU" THEN 160 240 IF N$(Q5)<>"WHAT" THEN 260 250 GOTO 330 260 Z7=1 270 FOR O1=1 TO Q5-1 280 IF M$(O1)<>N$(Q5) THEN 310 290 PRINT "NAME IN USE, INPUT ANOTHER" 300 GOTO 120 310 NEXT O1 315 M$(Q5)=N$(Q5) 320 GOTO 360 330 PRINT "TYPE PLAYERS NAME (ONE ONLY AT A TIME)" 340 PRINT "'YOU' IF THE COMPUTER IS PLAYING." 350 GOTO 120 360 T(Q5)=1500 370 NEXT Q5 380 IF Z7=1 THEN 410 390 A7=1 400 A8=1 410 FOR B4= 1 TO 40 420 REM READS DATA, P$=NAME,S IS TYPE,R IS RENT, AND C IS COST 430 READ P$(B4),S(B4) 440 REM B3= B= PLAYER NUMBER 450 IF S(B4)>8 THEN 470 460 GOTO 490 470 READ L(B4),C(B4) 480 R(B4)=L(B4) 490 NEXT B4 500 I0=1 510 J0=200 520 LET I=I+1 530 PRINT 540 PRINT "TURN";I 550 PRINT 560 GOSUB 6910 570 IF I0=0 THEN 600 580 GOTO 2780 590 I0=0 600 FOR B3=1 TO N 610 B=B3 620 IF A(B)=1 THEN 660 630 O$="YOU" 640 I$="YOUR" 650 GOTO 690 660 O$="I" 670 I$="MY" 680 REM THIS SETS O AND I$ FOR COMPUTER OR HUMAN 690 R5=0 700 U=0 710 IF Q(B)=1 THEN 3720 720 IF A(B)=1 THEN 780 730 IF N$(B)<>"ME" THEN 760 740 PRINT "YOUR TURN" 750 GOTO 820 760 PRINT N$(B3);"'S TURN" 770 GOTO 820 780 PRINT "MY TURN"; 790 IF W7=1 THEN 810 800 PRINT "(PLAYER";B;")"; 810 PRINT 820 IF T(B)>0 THEN 840 830 GOSUB 9010 840 IF Q(B)=1 THEN 3720 850 IF E(B)=0 THEN 880 860 B9=B3 870 GOSUB 4770 880 IF T(B)> 100 THEN 900 890 GOSUB 5710 900 IF N(B)>0 THEN 920 910 IF X(B)=0 THEN 940 920 GOSUB 6230 930 GOTO 940 940 B2=INT(RND(1)*6)+1 950 B1=INT(RND(1)*6)+1 960 PRINT "THE DICE ARE ON";B1;" AND ";B2 970 IF B1=B2 THEN 1010 980 IF J(B)=1 THEN 1150 990 G(B)=0 1000 GOTO 1510 1010 G(B)= G(B)+1 1020 REM G(B) IS NUMBER OF DOUBLES 1030 IF G(B)>=3 THEN 1100 1040 IF J(B)=1 THEN1070 1050 REM J(B)= 1IF IN JAIL, =0 IF OUT OF JAIL 1060 GOTO 1510 1070 J(B)=0 1080 PRINT "OUT OF JAIL " 1090 GOTO 2760 1100 J(B)=1 1110 PRINT "3 DOUBLES . IN JAIL" 1120 P(B)=10 1130 GOTO 2770 1140 G(B)=0 1150 IF F(B)>0 THEN 1170 1160 GOTO 1290 1170 PRINT" IN JAIL WILL ";O$;" USE ";I$;" JAILCARD"; 1180 IF A(B)=0 THEN 1210 1190 PRINT "?* YES *" 1200 GOTO 1260 1210 INPUT X$ 1220 IFLEFT$(X$,1)="N"THEN1290 1230 IFLEFT$(X$,1)="Y"THEN1260 1240 PRINT "YES OR NO"; 1250 GOTO 1210 1260 F(B)=F(B)-1 1270 D(B)=0 1280 GOTO 1490 1290 IF D(B)<3 THEN 1320 1300 PRINT "THIRD TIME IN JAIL.";O$;" MUST PAY $50." 1310 GOTO 1480 1320 PRINT"IN JAIL. WILL ";O$;" PAY $50"; 1330 IF A(B)=0 THEN 1410 1340 D(B)=D(B)+1 1350 IF D(B)=3 THEN 1390 1360 IF T(B)>200 THEN 1390 1370 PRINT"? *NO*" 1380 GOTO 2770 1390 PRINT"? *YES*" 1400 GOTO 1480 1410 P(B)=P(B)+1 1420 INPUT A$ 1430 P(B)=10 1440 IFLEFT$(A$,1)="Y"THEN1480 1450 IFLEFT$(A$,1)="N"THEN2770 1460 PRINT "TYPE 'YES' OR 'NO'"; 1470 GOTO 1290 1480 LET T(B)= T(B)-50 1490 J(B)=0 1500 D(B)=0 1510 P(B)= P(B)+B1+B2 1520 R5=0 1530 U=0 1540 P=P(B) 1550 IF P(B)>40 THEN 1570 1560 GOTO 1610 1570 LET P(B)= P(B)- 40 1580 P=P(B) 1590 T(B)= T(B)+200 1600 PRINT "PASSED GO!! COLLECTED $200 " 1610 IF S(P(B))>10 THEN 1640 1620 GOTO 2290 1630 P=P(B3) 1640 IF V(P(B))>B THEN 2040 1650 REM V(--) IS THE OWNER OF THE PROPERTY 1660 IF V(P(B))<B THEN 1680 1670 GOTO 1700 1680 IF V(P(B))>0 THEN 2040 1690 GOTO 1760 1700 Y9=P(B) 1710 IF A(B)=0 THEN 1740 1720 PRINT "I AM ON ";P$(P);" WHICH I OWN." 1730 GOTO 2760 1740 PRINT "YOU ARE ON ";P$(Y9); " WHICH YOU OWN " 1750 GOTO 2760 1760 LET P=P(B3) 1770 IF A(B)=0 THEN 1800 1780 PRINT P$(P);" IS AVAILABLE AT PRICE $";C(P);" WILL I BUY IT"; 1790 GOTO 1820 1800 PRINT "WILL YOU BUY ";P$(P);" FOR $";C(P); 1810 IF A(B)=0 THEN 1870 1820 IF T(B)<200 +C(P) THEN 1850 1830 PRINT "? *YES*" 1840 GOTO 1920 1850 PRINT "? *NO*" 1860 GOTO 2760 1870 INPUT A$ 1880 IFLEFT$(A$,1)="Y" THEN 1920 1890 IFLEFT$(A$,1)="N"THEN2760 1900 PRINT"YES OR NO"; 1910 GOTO 1870 1920 LET T(B)= T(B)- C(P(B)) 1930 IF R5=1 THEN 1950 1940 GOTO 1960 1950 W(B)=W(B)+1 1960 IF U=1 THEN 1980 1970 GOTO 1990 1980 LET U(B)= U(B)+1 1990 V(P(B))= B 2000 U8=0 2010 GOSUB 4260 2020 GOTO 2760 2030 REM THIS IS RENT ROUTINE 2040 IF R5=0 THEN 2070 2050 R(P(B))= 25* W(V(P(B))) 2060 GOTO 8320 2070 IF U=0 THEN 8320 2080 IF U(B)=2 THEN 2110 2090 U3=4 2100 GOTO 2120 2110 U3=10 2120 GOTO 8310 2130 IF A(W8)=0 THEN 2180 2140 PRINT P$(W9); " IS MINE"; 2150 IF W7=1 THEN 2190 2160 PRINT "(PLAYER";W8;")"; 2170 GOTO 2190 2180 PRINT P$(W9);" BELONGS TO "; N$(W8); 2190 IF M(P(B))=1 THEN 2240 2200 PRINT ", RENT IS $ "; R(P(B)) 2210 T(B)=T(B)-R(P(B)) 2220 T(V(P))= T(V(P))+ R(P(B)) 2230 GOTO 2760 2240 PRINT " ,BUT IT IS MORTGAGED" 2250 GOTO 2760 2260 P=P(B3) 2270 T(V(P(B)))= T(V(P(B)))+ R(P(B)) 2280 GOTO 2760 2290 ON S(P(B)) GOTO 2760,2370, 2420,2490,2600,2630,2670,2310,2710,2740 2300 REM FOR UNIQUE SQUARES IT SENDS THE PROGRAM TO THE RIGHT DIRECTION 2310 Y9=P(B) 2320 IF A(B)=0 THEN 2350 2330 PRINT "I AM ON ";P$(Y9);"." 2340 GOTO 2760 2350 PRINT "YOU ARE ON ";P$(Y9) 2360 GOTO 2760 2370 PRINT"COMMUNITY CHEST "; 2380 PRINT "--"; 2390 GOSUB 3750 2400 REM GOES TO CHANCE-COMMUNITY CHEST GOSUB 2410 GOTO 2440 2420 PRINT "CHANCE--"; 2430 GOSUB 3750 2440 IF V0=1 THEN 2460 2450 GOTO 2760 2460 V0=0 2470 R5=1 2480 GOTO 1640 2490 Z2=.1*(T(B)) 2500 IF Z2>0 THEN 2530 2510 PRINT O$;" IS ON INCOME TAX, BUT HAS A NEGATIVE AMOUNT OF MONEY" 2520 GOTO 2760 2530 IF Z2>200 THEN 2570 2540 LET T(B)= T(B)-INT(Z2) 2550 PRINT "INCOME TAX--$";INT(Z2) 2560 GOTO 2760 2570 T(B)= T(B)- 200 2580 PRINT "INCOME TAX-$200" 2590 GOTO 2760 2600 T(B)= T(B)-75 2610 PRINT "LUXURY TAX $75" 2620 GOTO 2760 2630 J(B)=1 2640 P(B)=10 2650 PRINT"GO TO JAIL" 2660 GOTO 2760 2670 PRINT"FREE PARKING-$";J0;"." 2680 T(B)=T(B)+J0 2690 J0=200 2700 GOTO 2760 2710 R5=1 2720 GOTO 1640 2730 GOTO 2760 2740 U=1 2750 GOTO 1630 2760 IF G(B)>0 THEN 940 2770 PRINT 2780 IF A8=-1 THEN 3000 2790 IF A8=0 THEN 2850 2800 IF A8=5 THEN 2830 2810 A8=A8+1 2820 GOTO 3700 2830 A8=1 2840 GOTO3000 2850 PRINT "SUMMARY"; 2860 INPUT A$ 2870 IF A$="AUTO" THEN 2890 2880 GOTO 2910 2890 A8=1 2900 GOTO 3700 2910 IF A$="ALWAYS" THEN 2930 2920 GOTO2950 2930 A8=-1 2940 GOTO 3000 2950 IFLEFT$(A$,1)="N"THEN3700 2960 IFLEFT$(A$,1)="Y"THEN3000 2970 PRINT "'YES' OR 'NO' OR 'AUTO'( GIVES A SUMMARY EVERY FIVE TURNS" 2980 PRINT "AND DOESN'T ASK YOU ANY MORE" 2990 GOTO 2850 3000 GOTO 3010 3010 FOR J8=1 TO N 3020 X=0 3030 T0=0 3040 IF Q(J8)=1 THEN3650 3050 T$=" " 3060 IF A(J8)=1 THEN 3120 3070 IF N$(J8)<>"ME" THEN 3100 3080 PRINT "YOU HAVE $";T(J8); 3090 GOTO 3160 3100 PRINT N$(J8);" HAS $";T(J8); 3110 GOTO 3160 3120 PRINT"I"; 3130 IF W7=1 THEN 3150 3140 PRINT "(PLAYER";J8;")"; 3150 PRINT" HAVE $";T(J8); 3160 FORJ9=1 TO 40 3170 IF V(J9)=J8 THEN 3190 3180 GOTO 3350 3190 IF T$= " " THEN 3210 3200 PRINT ","; T$; 3210 T$= P$(J9) 3220 X=X+C(J9)+B(J9)*INT((S(J9)-10)/2+.5)*50 -M(J9)* .5*C(J9) 3230 IF B(T)=0 THEN 3310 3240 IF B(T)>1 THEN 3270 3250 PRINT "(WITH A HOUSE)"; 3260 GOTO 3310 3270 IF B(T)<5 THEN 3300 3280 PRINT "(WITH A HOTEL)"; 3290 GOTO 3310 3300 PRINT "(WITH";B(T);"HOUSES)"; 3310 IF M(T)=0 THEN 3330 3320 PRINT "(MORTGAGED)"; 3330 T=J9 3340 IF T0=1 THEN 3460 3350 NEXT J9 3360 IF F(J8)>0 THEN 3420 3370 IF T$<>" " THEN 3400 3380 PRINT "." 3390 GOTO 3610 3400 PRINT ", AND ";T$; 3410 GOTO 3440 3420 IF T$=" " THEN3470 3430 PRINT",";T$; 3440 T0=1 3450 GOTO 3230 3460 T0=0 3470 IF F(J8)=0 THEN 3550 3480 IF F(J8)=1 THEN 3520 3490 PRINT ",AND ";F(J8);"JAILCARDS."; 3500 X=X+F(J8)*50 3510 GOTO 3610 3520 PRINT ",AND A JAILCARD."; 3530 X=X+50 3540 GOTO 3610 3550 IF T$=" " THEN3610 3560 K(0)=LEN(T$):FORXE=1TOK(0):K(XE)=ASC(MID$(T$,XE,1)):NEXTXE 3570 IF K(K(0))=46 THEN 3600 3580 PRINT "."; 3590 GOTO 3610 3600 GOTO 3610 3610 PRINT 3620 IF X=0 THEN 3640 3630 PRINT " TOTAL ASSETS:$";T(J8)+X;"." 3640 PRINT 3650 NEXT J8 3660 PRINT" "; 3670 PRINT "$";J0;" ON THE FREE PARKING JACKPOT." 3680 PRINT 3690 PRINT 3700 IF I0=0 THEN 3720 3710 GOTO 590 3720 PRINT 3730 NEXT B3 3740 GOTO 520 3750 J5=INT(RND(1)*7)+1 3760 ON J5 GOTO 3770,3810,3870,3930,3990,4040,4070 3770 PRINT "GOTO JAIL!!!" 3780 J(B)=1 3790 P(B)=10 3800 GOTO 4090 3810 PRINT "COLLECT $50 FROM EVERYONE" 3820 FOR Y3=1TON 3830 LET T(Y3)= T(Y3)-50 3840 NEXT Y3 3850 T(B)=T(B)+N*50 3860 GOTO 4090 3870 PRINT "GO TO READING" 3880 LET P(B)=5 3890 LET P=5 3900 V0=1 3910 REM V0 TELLS THE PROGRAM TO GO TO READING 3920 RETURN 3930 PRINT "PAY ALL $50" 3940 FOR Y4=1 TO N 3950 T(Y4)= T(Y4)+50 3960 NEXT Y4 3970 T(B)=T(B)-N*50 3980 GOTO 4090 3990 Y2=INT(RND(1)*4)+1 4000 PRINT "PAY $";Y2*50 4010 T(B)=T(B)-Y2*50 4020 J0=J0+Y2*50 4030 GOTO 4090 4040 PRINT "GO DIRECTLY TO GO" 4050 P(B)=40 4060 GOTO 4090 4070 PRINT "TICKET OUT OF JAIL" 4080 F(B)=F(B)+1 4090 RETURN 4100 DATA MEDITERRANEAN,11,2,60,CC,2,BALTIC,11,4,60,IT,4 4110 DATA READING,9,25,200,ORIENTAL,12,6,100,CH,3 4120 DATA VERMONT,12,6,100,CONN.,12,8,120,JAIL,8 4130 DATAST. CHAS.,13,10,140,ELECTRIC WORKS,10,1,150,STATES 4140 DATA13,10,140,VIRGINIA,13,12,160,PENNS.RR.,9,25,200 4150 DATA ST.JAMES,14,14,180,CC,2,TENNESSEE,14,14,180 4160 DATA NEW YORK,14,16,200,FP,7,KENTUCKY,15,18,200 4170 DATA CH,3,INDIANA,15,18,220,ILLINOIS,15,20,240 4180 DATA B&O RR,9,25,200 4190 DATA ATLANTIC,16,22,260,VENTNOR 4200 DATA 16,22,260,WATER WORKS,10,1,150,M. GARDENS 4210 DATA 16,24,280,GOJAIL,6,PACIFIC,17,26,300,N.CAROLINA 4220 DATA 17,26,300,CC,2,PENNS. AVE.,17,28,320 4230 DATA SHORTLINE,9,25,200,CHANCE,3,PARKPLACE,18 4240 DATA 35,350,LT,5,BOARDWALK,18,50,400,GO,8 4250 DATA GO,8 4260 Z=0 4270 Z(3)=0 4280 Z(2)=0 4290 Z(1)=0 4300 IFU8=0THEN4340 4310 B9=E9 4320 P=E8 4330 GOTO 4360 4340 B9=B3 4350 P=P(B9) 4360 IF S(P)<11 THEN 4490 4370 IF P>4 THEN 4400 4380 LET I7=0 4390 GOTO 4410 4400 I7= P-4 4410 IF P>35 THEN 4440 4420 Q1= P+4 4430 GOTO 4450 4440 Q1=40 4450 FOR W1= I7 TO Q1 4460 IF S(W1) = S(P) THEN 4480 4470 GOTO 4520 4480 IF V(W1)= B9 THEN 4500 4490 RETURN 4500 Z=Z+1 4510 Z(Z)=W1 4520 NEXT W1 4530 E(B9)= E(B9)+1 4540 IF A(B9)=0 THEN 4570 4550 PRINT "I HAVE A MONOPOLY AND THE RENTS ARE DOUBLED" 4560 GOTO 4580 4570 PRINT "YOU NOW HAVE MONOPOLY. THE RENTS ARE DOUBLED" 4580 FOR Z2=1 TO 3 4590 R(Z(Z2))= 2*R(Z(Z2)) 4600 O(Z(Z2))=1 4610 NEXT Z2 4620 IF S(Z(1))<11 THEN 4640 4630 GOTO 4650 4640 RETURN 4650 GOSUB 4770 4660 U8=0 4670 RETURN 4680 FOR I1=1 TO 40 4690 IF S(I1)= S(B) THEN 4710 4700 GOTO 4750 4710 IF V(I1)= V9 THEN 4730 4720 RETURN 4730 Z=Z+1 4740 Z(Z)=I1 4750 NEXT I1 4760 GOTO 4570 4770 PRINT" DO ";O$;" WANT HOUSES NOW"; 4780 IF A(B9)=0 THEN 4820 4790 IF T(B9)>500 THEN 4880 4800 PRINT "? *NO*" 4810 RETURN 4820 INPUT Z$ 4830 IFLEFT$(Z$,1)="N"THEN4870 4840 IFLEFT$(Z$,1)="Y"THEN4900 4850 PRINT "YES OR NO"; 4860 GOTO 4820 4870 RETURN 4880 I3=1 4890 GOTO 4920 4900 PRINT "LOT, #OF HOUSES"; 4910 IF A(B)=0 THEN5120 4920 FOR I2= 1 TO 40 4930 IF V(I2)<>B9 THEN 4990 4940 IF O(I2)=0 THEN 4990 4950 IF B(I2)>4 THEN 4990 4960 GOTO 5050 4970 H=I2 4980 GOTO5250 4990 NEXT I2 5000 GOTO 5030 5010 IF I3> 5 THEN 5030 5020 GOTO 4920 5030 PRINT "?*NO*" 5040 RETURN 5050 IF T(B)>1700 THEN 5090 5060 IF B(I2)>5-INT(T(B)/350) THEN 5090 5070 H4=INT (T(B)/350) 5080 GOTO 5100 5090 H4= 5-B(I2) 5100 PRINT "?* YES ";H4;" ON ";P$(I2);"*" 5110 GOTO 5260 5120 INPUT H$,H5 5130 IFLEFT$(H$,1)="N"THEN4870 5140 IF H$="WHAT" THEN 9370 5150 IF H5>0 THEN 5190 5160 PRINT "A POSITIVE NUMBER PLEASE!" 5170 INPUT H5 5180 GOTO 5150 5190 FOR H=1 TO 40 5200 IF P$(H)= H$ THEN 5250 5210 NEXT H 5220 PRINT "WHAT LOT"; 5230 INPUT H$ 5240 GOTO 5130 5250 IF A(B)=0 THEN 5310 5260 H5=H4 5270 H=I2 5280 GOTO 5310 5290 PRINT "YOU DON'T OWN THAT" 5300 GOTO 4770 5310 H7=H5+B(H) 5320 GOSUB 5340 5330 GOTO 5590 5340 R(H)=L(H) 5350 IF H7<6 THEN 5390 5360 PRINT " YOU WILL HAVE TO HAVE 5 HOUSES (ONE HOTEL)" 5370 H5=H7-B(H) 5380 H7=5 5390 IF H7>0 THEN 5420 5400 PRINT "YOU CAN'T HAVE LESS THAN 0 HOUSES." 5410 GOTO 5570 5420 B(H)=0 5430 FOR H6= 1 TO H7 5440 B(H)=H6 5450 J=H 5460 IF B(H)=0 THEN 4870 5470 ON B(H) GOTO 5480,5500,5520,5540,5540 5480 R(J)= R(J)*2.5 5490 GOTO 5550 5500 R(J)=R(J)*3 5510 GOTO 5550 5520 R(J)= R(J)*2.3 5530 GOTO 5550 5540 R(J)=R(J)+185 5550 R(J)= 10* INT(R(J)/10 +.5) 5560 NEXT H6 5570 PRINT "THE RENT IS NOW $";R(J);"." 5580 RETURN 5590 C=INT((S(J)-10)/2+.5)*50 5600 IF H5=1 THEN 5630 5610 PRINT "THOSE WERE $";C;"EACH, MAKING $";H5*C;"." 5620 GOTO 5640 5630 PRINT "THAT WAS $";C;"." 5640 T(B9)= T(B9)- H5*C 5650 X(B9)=X(B9)+H5 5660 RETURN 5670 PRINT "ANOTHER"; 5680 GOTO 4780 5690 RETURN 5700 GOTO 4440 5710 PRINT "WHAT DO ";O$;" WANT TO MORTGAGE"; 5720 I3=1 5730 IF A(B)=0 THEN 5910 5740 IF T(B)>150 THEN 5860 5750 FOR I4= 1 TO 40 5760 IF V(I4)=B THEN 5780 5770 GOTO 5840 5780 IF O(I4)= I3 THEN 5840 5790 IF M(I4)=1 THEN 5840 5800 IF B(I4)<>0 THEN 5840 5810 PRINT "? *";P$(I4);"*" 5820 Z5=I4 5830 GOTO 6000 5840 NEXT I4 5850 IF I3=1 THEN 5890 5860 PRINT "? *NOTHING*" 5870 RETURN 5880 GOTO 6110 5890 I3=0 5900 GOTO 5750 5910 INPUT Z$ 5920 IF Z$="WHAT" THEN 9400 5930 IFLEFT$(Z$,3)<>"NOT"THEN5950 5940 RETURN 5950 FOR Z5=1 TO 40 5960 IF P$(Z5)=Z$ THEN 6000 5970 NEXT Z5 5980 PRINT "WHAT"; 5990 GOTO 5910 6000 IF B(Z5)>0 THEN 6120 6010 FOR X=1 TO 40 6020 IF S(X)<>S(Z5) THEN 6060 6030 IF B(X)=0 THEN 6060 6040 PRINT "THERE ARE HOUSES ON OTHER LOTS OF MONPOLY. YOU MUST SELL THEM." 6050 GOTO 5710 6060 NEXT X 6070 GOTO 6150 6080 M(Z5)=1 6090 N(B)= N(B)+1 6100 T(B)= T(B)+.5*C(Z5) 6110 GOTO 5710 6120 PRINT "THERE ARE HOUSES ON IT" 6130 GOTO 5710 6140 RETURN 6150 IF V(Z5)>B3THEN 6200 6160 IF V(Z5)<B3 THEN 6200 6170 IF M(Z5)=0 THEN 6190 6180 PRINT"IT ALREADY IS" 6190 GOTO 6080 6200 PRINT" YOU DON'T OWN THAT" 6210 GOTO 5720 6220 RETURN 6230 PRINT "UNMORTGAGE WHAT"; 6240 IF A(B)=0 THEN 6360 6250 IF T(B)<150 THEN 6340 6260 FOR E0= 1 TO 40 6270 IF V(E0)= B THEN 6290 6280 GOTO 6330 6290 IF M(E0)=0 THEN 6330 6300 PRINT "?*"; P$(E0);"*" 6310 E=E0 6320 GOTO 6480 6330 NEXT E0 6340 PRINT "? *NOTHING*" 6350 GOTO 6590 6360 INPUT Z$ 6370 IF Z$<>"WHAT" THEN 6410 6380 PRINT "TYPE 'NOTHING', A PROPERTY NAME, OR 'HOUSES' IF" 6390 PRINT "YOU WANT TO SELL THEM." 6400 GOTO 6360 6410 IFLEFT$(Z$,3)="NOT"THEN6590 6420 IF Z$="HOUSES" THEN 6600 6430 FOR E=1 TO 40 6440 IF P$(E)=Z$ THEN 6480 6450 NEXT E 6460 PRINT "WHAT"; 6470 GOTO 6360 6480 IF M(E)=1 THEN 6510 6490 PRINT "IT ISN'T MORTGAGED" 6500 GOTO 6230 6510 IF V(E)=B THEN 6540 6520 PRINT"YOU DON'T OWN IT" 6530 GOTO 6230 6540 M(E)=0 6550 N(B)= N(B)-1 6560 T(B)=T(B)-INT(.6*C(E)) 6570 PRINT "WITH INTEREST THAT WAS$";INT(.6*C(E)) 6580 IF N(B)>0 THEN 6230 6590 RETURN 6600 PRINT"LOT,# OF HOUSES"; 6610 INPUT Z$,E2 6620 IF E2>0 THEN 6650 6630 PRINT "INPUT A POSITIVE NUMBER" 6640 GOTO 6600 6650 IF Z$="NO" THEN6110 6660 GOTO 6700 6670 PRINT "TYPE IN THE NAME OF THE LOT THEN THE # OF HOUSES YOU ARE" 6680 PRINT"SELLING. TO SELL NONE TYPE 'NO'" 6690 GOTO 6600 6700 FOR E3=1 TO 40 6710 IF P$(E3)=Z$THEN 6760 6720 NEXT E3 6730 PRINT "WHAT LOT"; 6740 INPUT Z$ 6750 GOTO 6650 6760 B(E3)= B(E3)-E2 6770 X(B)=X(B)-E2 6780 IF B(E3)<0 THEN 6870 6790 H=E3 6800 H7=B(H) 6810 GOSUB 5340 6820 E4=INT((S(E3)-10)/2+.5)*25 6830 E4=E4*E2 6840 PRINT" YOU GET$";E4 6850 T(B)=T(B)+E4 6860 GOTO 6230 6870 PRINT "YOU DON'T HAVE THAT MANY" 6880 B(E3)=B(E3)+E2 6890 GOTO 6600 6900 GOTO 6230 6910 IF A7=1 THEN 7050 6920 IF E6=0 THEN 6960 6930 E6=E6+1 6940 IF E6<3 THEN 7090 6950 E6=1 6960 PRINT "CHANGES"; 6970 E6=0 6980 INPUT Z$ 6990 IF Z$<>"WHAT" THEN 7020 7000 PRINT "'YES', 'NO','NEVER',OR 'DELAY'( WILL ASK AGAIN IN THREE TURNS"; 7010 GOTO 6980 7020 IF Z$= "NEVER" THEN 7040 7030 GOTO 7060 7040 A7=1 7050 RETURN 7060 IF Z$="YES" THEN 7170 7070 IF Z$<>"DELAY" THEN 7110 7080 E6=1 7090 PRINT 7100 RETURN 7110 IF Z$="NO" THEN 7090 7120 PRINT "TYPE 'YES', OR 'NO' IF YOU WANT TO MAKE CHANGES OR NOT" 7130 PRINT "OR 'DELAY' TO HAVE IT ASK YOU LATER" 7140 GOTO 6960 7150 RETURN 7160 IF T(B9)> 300 THEN 4880 7170 GOTO 7210 7180 REM THIS PART WILL TRANSFERR OWNERSHIP OF A PROPERTY 7190 REM TO SOMEONE ELSE AND TRANSFER SOME MONEY TO 7200 REM TO CORRRESPOND 7210 PRINT "('WHAT,A,0' FOR INST.)"; 7220 INPUT Z$,A$,A 7230 IF Z$="NEW PLAYER" THEN 10120 7240 IF A$<>"YOU" THEN 7260 7250 A$="COMPUTER" 7260 IF Z$="NEW PLAYER" THEN 10120 7270 IF Z$="WHAT" THEN 9420 7280 IF Z$= "NO" THEN 8240 7290 IF Z$="QUIT" THEN 7590 7300 IF Z$="JAIL CARD" THEN 7590 7310 IF Z$="JAILCARD" THEN 7590 7320 IF A$<>"BANK" THEN 7360 7330 GOTO 7590 7340 PRINT" THAT'S ILLEGAL!" 7350 GOTO 7210 7360 FOR E8=1 TO 40 7370 IF P$(E8)= Z$ THEN 7460 7380 NEXT E8 7390 PRINT "WHAT LOT"; 7400 INPUT Z$ 7410 IF Z$<>"WHAT"THEN 7440 7420 PRINT"TYPE THE PROPERTY NAME OR 'NO'" 7430 GOTO7400 7440 IF Z$="NO" THEN 6960 7450 GOTO 7360 7460 IF S(E8)<9THEN 8250 7470 T8=0 7480 IF V(E8)=0 THEN 8270 7490 IF B(E8)>0 THEN 7570 7500 FOR I2= 1 TO 40 7510 IF S(I2)<>S(E8) THEN 7550 7520 IF B(I2)=0 THEN 7550 7530 PRINT "THERE ARE HOUSES ON OTHER LOTS OF MONOPOLY.YOU MUST SELL THEM." 7540 GOTO 6960 7550 NEXT I2 7560 GOTO 7590 7570 PRINT "THERE ARE HOUSES ON IT" 7580 GOTO 7210 7590 T8=0 7600 FOR E9= 1 TO N 7610 IF N$(E9)=A$ THEN 7630 7620 GOTO 7640 7630 T8=T8+1 7640 NEXT E9 7650 ON T8+1 GOTO 7770,7860,7660,7660,7660,7660,7660,7660,7660,7660 7660 PRINT "WHICH PLAYER NO.('-1' FOR INSTRUCTIONS)"; 7670 INPUT E9 7680 IF E9>0 THEN 7720 7690 PRINT "TYPE THE PLAYER NO. OF THE PIECE. BECAUSE I" 7700 PRINT "PLAY MORE THAN ONE PLAYER, I MUST KNOW WHICH"; 7710 GOTO 7670 7720 IF E9>N THEN 7660 7730 IF A(E9)=1 THEN 7760 7740 PRINT"I AM NOT ";N$(E9) 7750 GOTO 7660 7760 GOTO 7860 7770 PRINT "WHO"; 7780 INPUT A$ 7790 IFA$="NO" THEN8290 7800 IF A$<>"WHAT" THEN 7820 7810 PRINT "TYPE NEW OWNER'S NAME OR 'NO'"; 7820 GOTO 7590 7830 REM THIS IS FOR JAILCARDS 7840 GOSUB 9610 7850 GOTO 6960 7860 GOTO 7870 7870 FOR E9=1 TO N 7880 IF N$(E9)<>A$ THEN 7900 7890 GOTO 7910 7900 NEXT E9 7910 B=E9 7920 IF Z$="JAILCARD" THEN 7830 7930 IF Z$<>"QUIT" THEN 7970 7940 B=E9 7950 GOSUB 9240 7960 GOTO 6960 7970 U5=V(E8) 7980 IF A$="BANK" THEN 8090 7990 IF A(V(E8))=1 THEN 8420 8000 IFA(E9)=1THEN8360 8010 T(V(E8))= T(V(E8))+A 8020 IF S(E8)<>9 THEN 8050 8030 W(V(E8))=W(V(E8))-1 8040 W(E9)=W(E9)+1 8050 IF S(E8)<>10 THEN 8080 8060 U(V(E8))=U(V(E8))-1 8070 U(E9)=U(E9)+1 8080 LET V(E8)= E9 8090 T(E9)= T(E9)-A 8100 IF A$="BANK" THEN 6960 8110 IF O(E8)=1 THEN 8130 8120 GOTO 8210 8130 FOR O9= 1 TO 40 8140 IF S(O9)=S(E8) THEN 8160 8150 GOTO 8180 8160 LET R(O9)= R(O9)/2 8170 O(O9)=0 8180 NEXT O9 8190 PRINT "NO LONGER A MONOPOLY THERE" 8200 LET E(U5)= E(U5)-1 8210 U8=1 8220 P=E8 8230 GOSUB 4260 8240 GOTO 6960 8250 PRINT" YOU FOOL, YOU CANT OWN ";Z$;"!!!!" 8260 GOTO 7210 8270 PRINT "IT ISN'T OWNED" 8280 GOTO 7210 8290 GOTO 6960 8300 REM THIS BELONGS TO LINES 1049-- 8310 R(P(B))=INT(RND(1)*6+1)*U3 8320 W9=P(B) 8330 W8=V(P(B)) 8340 GOTO 2130 8350 W8=V(P(B)) 8360 IF T(E9)> 200+ C(E8) THEN8390 8370 PRINT "I DONT ACCEPT" 8380 GOTO 7170 8390 IF A> 150+C(E8) THEN 8370 8400 PRINT "I ACCEPT" 8410 GOTO 8010 8420 IF O(E8)=1 THEN 8520 8430 IF A>2*C(E8) THEN 590 8440 IF S(O1)<>S(E8) THEN 8460 8450 IF V(O1)<>E9 THEN 8500 8460 NEXT O1 8470 IF T(V(E8))>200 THEN 8520 8480 IF A<C(E8)+200 THEN 8520 8490 GOTO 8560 8500 IF T(V(E8))<200 THEN 8540 8510 GOTO 8520 8520 PRINT "I WON'T SELL" 8530 GOTO 7170 8540 IF A> 1.5* C(E8) THEN 8560 8550 GOTO 8520 8560 PRINT "IT IS A DEAL" 8570 GOTO 8010 8580 PRINT " THIS PROGRAM WILL HANDLE UP TO TEN PLAYERS" 8590 PRINT "OR PIECES. IT WILL DO ALL ROUTINE JOBS SUCH AS" 8600 PRINT"ROLLING THE DICE,MOVING PIECES, AND INFORMING THE" 8610 PRINT "PLAYERS OF ALL OPTIONS. IT WILL ACTUALLY" 8620 PRINT"PLAY THE GAME MAKING THE DECISIONS OF ANY NUMBER OF PLAYERS." 8630 PRINT"WANT THE COMPUTER TO DO THIS TYPE 'YOU' WHEN IT ASKS" 8640 PRINT"FOR THE NAME." 8650 PRINT "OF PLAYERS. TO DO THIS TYPE 'YOU' AS THE" 8660 PRINT " NAME OF THAT PLAYER." 8670 PRINT 8680 PRINT"THIS PROGRAM IS FAIRLY SELF-EXPLANATORY, HOWEVER THE FOLLOWING" 8690 PRINT "THINGS MUST BE KEPT IN MIND:" 8700 PRINT 8710 PRINT" 1. IF A QUESTION IS NOT UNDERSTOOD,TYPING 'WHAT' WILL" 8720 PRINT "USUALLY GIVE INSTRUCTIONS. HOWEVER SOME QUESTIONS WILL" 8730 PRINT "ASK FOR MORE THAN ONE THING AND THIS NUMBER OF THINGS MUST" 8740 PRINT "BE TYPED SEPERATED BY COMMAS. ALSO CARE MUST BE " 8750 PRINT "TAKEN THAT ALL INPUTS ARE EITHER NUMERIC OR ALPHABETIC" 8760 PRINT "AS ASKED FOR. EXAMPLE:" 8770 PRINT " LOT, # OF HOUSES? WHAT,0" 8780 PRINT "WILL GIVE INSTRUCTIONS." 8790 PRINT " 2. THE COMPUTER WILL OFTEN ASK IF YOU WANT CHANGES" 8800 PRINT "OR A SUMMARY. THE CHANGES ROUTINE WILL BE DESCRIBED" 8810 PRINT "BELOW, BUT IF YOU DON'T WANT TO BE BOTHERED WIL THE" 8820 PRINT "EVERYTIME, TYPE 'NEVER' TO HAVE IT STOP ASKING" 8830 PRINT "COMPLETELY, OR 'DELAY' TO HAVE IT ASK IN THREE" 8840 PRINT "TURNS. FOR SUMMARY TYPE 'AUTO' AND IT WILL " 8850 PRINT "GIVE A SUMMARY EVERY 5 TURNS, WITHOUT ASKING YOU AGAIN" 8860 PRINT" 3. TO SELL PROPERTIES OR ADD AND DROP PLAYERS USE THE " 8870 PRINT "CHANGES ROUTINE. TYPE 'YES' WHEN IT ASKS 'CHANGES?'" 8880 PRINT "TYPE 'YES' THEN TYPE 'WHAT,A,0' FOR COMPLETE INSTRUCTIONS" 8890 PRINT " 4. FIVE HOUSES ARE EQUIVALENT TO ONE HOTEL." 8900 PRINT " 5. IF YOU TYPE 'YOU' FOR ALL THE NAMES" 8910 PRINT "THE COMPUTER WILL PLAY ITSELF WITHOUT" 8920 PRINT "ASKING YOU FOR ANYTHING. TYPING CONTROL-O" 8930 PRINT "WILL MAKE THE GAME CONTINUE WITHOUT " 8940 PRINT "TYPE OUT, AND CONTROL-C THEN CONT WILL START THE" 8950 PRINT " TYPE OUT AGAIN WITH THE GAME VERY FAR ALONG." 8960 PRINT " 6. TO SELL HOUSES, WAIT UNTIL THE COMPUTER ASKS" 8970 PRINT "UNMORTGAGE WHAT? AND TYPE 'HOUSES' THEN ANSWER" 8980 PRINT "ANSWER FURTHAR QUESTIONS." 8990 RETURN 9000 PRINT 9010 IF N7=1 THEN 9200 9020 IF A(B)=0 THEN 9100 9030 FOR I2= 1 TO N 9040 IF Q(I2)=1 THEN 9060 9050 IF A(I2)=0 THEN 9080 9060 NEXT I2 9070 GOTO 9200 9080 PRINT "I AM $";ABS(T(B));"IN THE RED. SHOULD I QUIT"; 9090 GOTO 9110 9100 PRINT "YOU ARE $";ABS(T(B));"IN THE HOLE. WILL YOU QUIT"; 9110 INPUT Z$ 9120 IFLEFT$(Z$,1)="Y"THEN9240 9130 IFLEFT$(Z$,1)="N"THEN9190 9140 IFLEFT$(Z$,1)="L"THEN9200 9150 PRINT "TYPE 'YES' TO QUIT OR 'NO' TO KEEP GOING" 9160 PRINT "AND PAYING 5% INTEREST ON THE NEGATIVE AMMOUNT" 9170 PRINT "OR 'LATER' TO NOT QUIT NOW BUT KEEP THE COMPUTER ASKING" 9180 GOTO 9110 9190 N7=1 9200 I1=INT(ABS(.05*T(B)+ .5)) 9210 PRINT "5% INTEREST IS $";I1 9220 T(B)= T(B) - I1 9230 RETURN 9240 Q(B)=1 9250 T(B)=0 9260 FOR I2=1 TO 40 9270 IF V(I2)<>B THEN 9330 9280 V(I2)=0 9290 M(I2)=0 9300 B(I2)=0 9310 R(I2)=L(I2) 9320 O(I2)=0 9330 NEXT I2 9340 N$(B)=" " 9350 RETURN 9360 GOTO 6360 9370 PRINT "TYPE PROPERTY NAME THEN NUMBER OF HOUSES OR" 9380 PRINT "'NO,0' TO DO NOTHING" 9390 GOTO 5100 9400 PRINT "TYPE A PROPERTY NAME OR 'NOTHING' "; 9410 GOTO 5910 9420 PRINT " THIS ROUTINE CAN DO SEVERAL THINGS:" 9430 PRINT " 1. TO SELL PROPERTY FROM ONE PERSON TO ANOTHER" 9440 PRINT "TYPE THE PROPERTY NAME,THE NEW OWNER'S NAME, THEN" 9450 PRINT "THE AMOUNT IT IS BEING SOLD FOR." 9460 PRINT " 2. TO SELL A JAILCARD, TYPE 'JAILCARD',THE NEW OWNERS" 9470 PRINT "NAME, THEN THE AMOUNT IT IS BEING SOLD FOR." 9480 PRINT "IF NEEDED THE COMPUTER WILL ASK WHO IT CAME FROM." 9490 PRINT " 3. FOR EITHER OF THE ABOVE,'YOU' CAN BE USED AS THE" 9500 PRINT "NEW OWNER'S NAME,OR THE COMPUTERS PROPERTY CAN BE USES" 9510 PRINT "THE COMPUTER WILL THEN DECIDE IF IT WILL ACCEPT YOUR OFFER," 9520 PRINT "AND TELL YOU IF IT WILL BUY OR SELL." 9530 PRINT " 4. TO ADD A NEW PLAYER TYPE:'NEW PLAYER',HIS NAME,'0'" 9540 PRINT " 5. TO DROP A PLAYER TYPE:'QUIT',HIS NAME,'0'" 9550 PRINT 9560 GOTO 7210 9570 B=E9 9580 REMARK THIS IS FOR QUITING FORM CHANGE ROUTINE 9590 GOSUB 9240 9600 GOTO 6960 9610 REM THIS IS FOR CHANGING JAILCARDS 9620 IF N<>2 THEN 9650 9630 T0=3-E9 9640 GOTO 9880 9650 PRINT "WHO FROM"; 9660 INPUT Z$ 9670 IF Z$<>"WHAT" THEN 9710 9680 PRINT"TYPE THE PERSON'S NAME FROM WHOM THE CARD" 9690 PRINT" CAME.";N$(E9);" HAD IT. WHO HAS IT NOW"; 9700 GOTO 9660 9710 IF Z$<>"YOU" THEN 9830 9720 IF W8=1 THEN 9820 9730 PRINT "WHICH #"; 9740 PRINT "('0' FOR INST.)"; 9750 INPUT O3 9760 IF O3>0 THEN 9790 9770 PRINT "I AM PLAYING SEVERAL PLAYERS. TYPE NO. OF ONE YOU WANT"; 9780 GOTO 9750 9790 IF O3>N THEN 9770 9800 T0=O3 9810 GOTO 9880 9820 Z$="COMPUTER" 9830 FOR T0= 1 TO 40 9840 IF N$(T0)= Z$ THEN 9880 9850 NEXT T0 9860 PRINT "WHO "; 9870 GOTO 9660 9880 IF A(T0)=0 THEN 9960 9890 IF A>45 THEN 9920 9900 IF A<30 THEN 9940 9910 GOTO 9940 9920 PRINT" OK" 9930 GOTO 10070 9940 PRINT" NO" 9950 RETURN 9960 IF A(E9)=0 THEN 10010 9970 IF A>50 THEN 9940 9980 IF F(E9)=1 THEN 9940 9990 IF T(E9)<200 THEN 9940 10000 GOTO9920 10010 IF F(T0)=1 THEN 9940 10020 IF A(T0)=0 THEN 10050 10030 IF A> 45 THEN 9940 10040 GOTO 10060 10050 PRINT "HE DOESN'T HAVE ONE" 10060 RETURN 10070 F(T0)= F(T0)-1 10080 F(E9)=F(E9)+1 10090 T(T0)=T(T0)+A 10100 T(E9)=T(E9)-A 10110 RETURN 10120 REM THIS ALLOWS A NEW PLAYER 10130 IF A$="YOU" THEN 10210 10140 FOR O9= 1 TO N 10150 IF N$(O9)=A$ THEN 10180 10160 NEXT O9 10170 GOTO 10210 10180 PRINT "INPUT A NAME NOT ALREADY USED"; 10190 INPUT A$ 10200 GOTO 10140 10210 FORO9= 1 TO N 10220 IF Q(O9)=1 THEN 10370 10230 NEXT O9 10240 IF N<10 THEN 10270 10250 PRINT "TOO MANY PLAYERS. SOMEONE WILL HAVE TO QUIT." 10260 GOTO 6960 10270 N=N+1 10280 Q(N)=0 10290 T(N)=1500 10300 IF A$<>"YOU"THEN 10350 10310 N$(N)="COMPUTER" 10320 W7=W7+1 10330 A(N)=1 10340 GOTO 6960 10350 N$(N)=A$ 10360 GOTO 6960 10370 REM THIS IS FOR NEW PLAYER 10380 N$(O9)= A$ 10390 Q(O9)=0 10400 P(O9)=0 10410 T(O9)=1500 10420 IF N$(9)<>"YOU" THEN 10460 10430 N$(O9)="COMPUTER" 10440 W7=W7+1 10450 A(O9)=1 10460 GOTO 6960 10470 END O9)=1500 10420 IF N$(9)<>"YOU" THEN 10460 10430 N$(O9)="COM[/spoiler] | labelminimizesubject |
Hamurabi | Digital Equipment Computer Users' Society | 1971 | https://archive.org/details/hamurabi.qb64 https://studybreaks.com/tvfilm/the-sumerian-game-forgotten-video-game-landmark/ https://www.codeproject.com/Articles/30058/Hammurabi***The simplicity of its gameplay made it easy to understand but hard to master, which inspired many aspiring programmers to create translations and imitations of the game. The most famous example was David H. Ahl’s Hamurabi in 1971, which was a simple conversion of King of Sumeria from its original FOCAL programming language into the far more accessible DEC BASIC. | labelimagesubject |
Lunar | Digital Equipment Computer Users' Society | 1971 | Lunar Lander is a genre of video games loosely based on the 1969 landing of the Apollo Lunar Module on the Moon. In Lunar Lander games, players generally control a spacecraft as it falls toward the surface of the Moon or other astronomical body, using thrusters to slow the ship's descent and control its horizontal motion to reach a safe landing area. Crashing into obstacles, hitting the surface at too high a velocity, or running out of fuel all result in failure. In some games in the genre, the ship's orientation must be adjusted as well as its horizontal and vertical velocities. The first Lunar Lander game was a text-based game published under many names, including the Lunar Landing Game, written in the FOCAL programming language for the Digital Equipment Corporation (DEC) PDP-8 minicomputer by Jim Storer while a high school student in the fall of 1969. Several other versions were written soon after by other programmers in FOCAL and BASIC. The original Lunar Landing Game was converted to BASIC by David H. Ahl, who included three versions in his 1973 book 101 BASIC Computer Games. By the end of the decade, the type of game was collectively known as a "lunar lander" game. | labelimagesubject |
Huntington Computer Project: A Teacher's Manual | University of New York | 1971 | [media=youtube]BIsQZv_9DBw[/media]***Huntington Computer Project: A Teacher's Manual was a manual for teaching students to program in BASIC. Aside from teaching them how to create games the book also contained some games and game-like educational programs for the PDP-10 minicomputer. | labelminimizesubject |
Baseball | Author | 1971 | Baseball is an early baseball simulation game written on a PDP-10. The game was expanded on during the 1970s and was ported to the Apple II by the author in the early 1980s but never released. The game formed the basis of World Series Major League Baseball for the Intellivision. The game was later released also for the IBM 360/40 on punch cards. In the game players pick their roster of existing players to play a single game with. | labelminimizesubject |
Hunt The Wumpus | People's Computer Company (Author) | 1972 | Texas Instruments TI-99/4A***Written in BASIC and suitable for any platform that uses that language. A game designed to use another type of location besides grids (2D or 3D). The rooms are arranged in a dodecahedron configuration, each room forms a corner of the shape. The Wumpus can kill the player's character but the player has five arrows to try an kill it first. If s/he encounters the Bat, it will transport you to a random room. There are bottomless pits in some rooms. There are clues given when s/he is next to a room with a pit, the Wumpus or the Bat. [spoiler=Source Code in GW-BASIC;close]5 rem *** HUNT THE WUMPUS *** 10 dim p(5) 15 print 'INSTRUCTIONS (Y-N)'; 20 input i$ 25 if (i$ = 'N') or (i$ = 'n') then 35 30 gosub 375 35 goto 80 80 rem *** SET UP CAVE (DODECAHEDRAL NODE LIST) *** 85 dim s(20,3) 90 for j = 1 to 20 95 for k = 1 to 3 100 read s(j,k) 105 next k 110 next j 115 data 2,5,8,1,3,10,2,4,12,3,5,14,1,4,6 120 data 5,7,15,6,8,17,1,7,9,8,10,18,2,9,11 125 data 10,12,19,3,11,13,12,14,20,4,13,15,6,14,16 130 data 15,17,20,7,16,18,9,17,19,11,18,20,13,16,19 135 def fnA(X)=INT(20*RND(1))+1 140 def fnB(X)=INT(3*RND(1))+1 145 def fnC(X)=INT(4*RND(1))+1 150 rem *** LOCATE L ARRAY ITEMS *** 155 rem *** 1-YOU, 2-WUMPUS, 3&4-PITS, 5&6-BATS *** 160 dim l(6) 165 dim m(6) 170 for j = 1 to 6 175 l(j) = fna(0) 180 m(j) = l(j) 185 next j 190 rem *** CHECK FOR CROSSOVERS (IE l(1)=l(2), ETC) *** 195 for j = 1 to 6 200 for k = 1 to 6 205 if j = k then 215 210 if l(j) = l(k) then 170 215 next k 220 next j 225 rem *** SET NO. OF ARROWS *** 230 a = 5 235 l = l(1) 240 rem *** RUN THE GAME *** 245 print 'HUNT THE WUMPUS' 250 rem *** HAZARD WARNING AND LOCATION *** 255 gosub 585 260 rem *** MOVE OR SHOOT *** 265 gosub 670 270 on o goto 280,300 275 rem *** SHOOT *** 280 gosub 715 285 if f = 0 then 255 290 goto 310 295 rem *** MOVE *** 300 gosub 975 305 if f = 0 then 255 310 if f > 0 then 335 315 rem *** LOSE *** 320 print 'HA HA HA - YOU LOSE!' 325 goto 340 330 rem *** WIN *** 335 print 'HEE HEE HEE - THE WUMPUS'LL GET YOU NEXT TIME!!' 340 for j = 1 to 6 345 l(j) = m(j) 350 next j 355 print 'SAME SETUP (Y-N)'; 360 input i$ 365 if (i$ <> 'Y') and (i$ <> 'y') then 170 370 goto 230 375 rem *** INSTRUCTIONS *** 380 print 'WELCOME TO 'HUNT THE WUMPUS'' 385 print ' THE WUMPUS LIVES IN A CAVE OF 20 ROOMS. EACH ROOM' 390 print 'HAS 3 TUNNELS LEADING TO OTHER ROOMS. (LOOK AT A' 395 print 'DODECAHEDRON TO SEE HOW THIS WORKS-IF YOU DON'T KNOW' 400 print 'WHAT A DODECAHEDRON IS, ASK SOMEONE)' 405 print 410 print ' HAZARDS:' 415 print ' BOTTOMLESS PITS - TWO ROOMS HAVE BOTTOMLESS PITS IN THEM' 420 print ' IF YOU GO THERE, YOU FALL INTO THE PIT (& LOSE!)' 425 print ' SUPER BATS - TWO OTHER ROOMS HAVE SUPER BATS. IF YOU' 430 print ' GO THERE, A BAT GRABS YOU AND TAKES YOU TO SOME OTHER' 435 print ' ROOM AT RANDOM. (WHICH MAY BE TROUBLESOME)' 440 input 'HIT RETURN TO CONTINUE';a$ 445 print ' WUMPUS:' 450 print ' THE WUMPUS IS NOT BOTHERED BY HAZARDS (HE HAS SUCKER' 455 print ' FEET AND IS TOO BIG FOR A BAT TO LIFT). USUALLY' 460 print ' HE IS ASLEEP. TWO THINGS WAKE HIM UP: YOU SHOOTING AN' 465 print 'ARROW OR YOU ENTERING HIS ROOM.' 470 print ' IF THE WUMPUS WAKES HE MOVES (P=.75) ONE ROOM' 475 print ' OR STAYS STILL (P=.25). AFTER THAT, IF HE IS WHERE YOU' 480 print ' ARE, HE EATS YOU UP AND YOU LOSE!' 485 print 490 print ' YOU:' 495 print ' EACH TURN YOU MAY MOVE OR SHOOT A CROOKED ARROW' 500 print ' MOVING: YOU CAN MOVE ONE ROOM (THRU ONE TUNNEL)' 505 print ' ARROWS: YOU HAVE 5 ARROWS. YOU LOSE WHEN YOU RUN OUT' 510 print ' EACH ARROW CAN GO FROM 1 TO 5 ROOMS. YOU AIM BY TELLING' 515 print ' THE COMPUTER THE ROOM#S YOU WANT THE ARROW TO GO TO.' 520 print ' IF THE ARROW CAN'T GO THAT WAY (IF NO TUNNEL) IT MOVES' 525 print ' AT RANDOM TO THE NEXT ROOM.' 530 print ' IF THE ARROW HITS THE WUMPUS, YOU WIN.' 535 print ' IF THE ARROW HITS YOU, YOU LOSE.' 540 input 'HIT RETURN TO CONTINUE';a$ 545 print ' WARNINGS:' 550 print ' WHEN YOU ARE ONE ROOM AWAY FROM A WUMPUS OR HAZARD,' 555 print ' THE COMPUTER SAYS:' 560 print ' WUMPUS: 'I SMELL A WUMPUS'' 565 print ' BAT : 'BATS NEARBY'' 570 print ' PIT : 'I FEEL A DRAFT'' 575 print 580 return 585 rem *** PRINT LOCATION & HAZARD WARNINGS *** 590 print 595 for j = 2 to 6 600 for k = 1 to 3 605 if s(l(1),k) <> l(j) then 640 610 on j-1 goto 615,625,625,635,635 615 print 'I SMELL A WUMPUS!' 620 goto 640 625 print 'I FEEL A DRAFT' 630 goto 640 635 print 'BATS NEARBY!' 640 next k 645 next j 650 print 'YOU ARE IN ROOM ';l(1) 655 print 'TUNNELS LEAD TO ';s(l,1);' ';s(l,2);' ';s(l,3) 660 print 665 return 670 rem *** CHOOSE OPTION *** 675 print 'SHOOT OR MOVE (S-M)'; 680 input i$ 685 if (i$ <> 'S') and (i$ <> 's') then 700 690 o = 1 695 return 700 if (i$ <> 'M') and (i$ <> 'm') then 675 705 o = 2 710 return 715 rem *** ARROW ROUTINE *** 720 f = 0 725 rem *** PATH OF ARROW *** 735 print 'NO. OF ROOMS (1-5)'; 740 input j9 745 if j9 < 1 then 735 750 if j9 > 5 then 735 755 for k = 1 to j9 760 print 'ROOM #'; 765 input p(k) 770 if k <= 2 then 790 775 if p(k) <> p(k-2) then 790 780 print 'ARROWS AREN'T THAT CROOKED - TRY ANOTHER ROOM' 785 goto 760 790 next k 795 rem *** SHOOT ARROW *** 800 l = l(1) 805 for k = 1 to j9 810 for k1 = 1 to 3 815 if s(l,k1) = p(k) then 895 820 next k1 825 rem *** NO TUNNEL FOR ARROW *** 830 l = s(l,fnb(1)) 835 goto 900 840 next k 845 print 'MISSED' 850 l = l(1) 855 rem *** MOVE WUMPUS *** 860 gosub 935 865 rem *** AMMO CHECK *** 870 a = a-1 875 if a > 0 then 885 880 f = -1 885 return 890 rem *** SEE IF ARROW IS AT l(1) OR AT l(2) 895 l = p(k) 900 if l <> l(2) then 920 905 print 'AHA! YOU GOT THE WUMPUS!' 910 f = 1 915 return 920 if l <> l(1) then 840 925 print 'OUCH! ARROW GOT YOU!' 930 goto 880 935 rem *** MOVE WUMPUS ROUTINE *** 940 k = fnc(0) 945 if k = 4 then 955 950 l(2) = s(l(2),k) 955 if l(2) <> l then 970 960 print 'TSK TSK TSK - WUMPUS GOT YOU!' 965 f = -1 970 return 975 rem *** MOVE ROUTINE *** 980 f = 0 985 print 'WHERE TO'; 990 input l 995 if l < 1 then 985 1000 if l > 20 then 985 1005 for k = 1 to 3 1010 rem *** CHECK IF LEGAL MOVE *** 1015 if s(l(1),k) = l then 1045 1020 next k 1025 if l = l(1) then 1045 1030 print 'NOT POSSIBLE -'; 1035 goto 985 1040 rem *** CHECK FOR HAZARDS *** 1045 l(1) = l 1050 rem *** WUMPUS *** 1055 if l <> l(2) then 1090 1060 print '... OOPS! BUMPED A WUMPUS!' 1065 rem *** MOVE WUMPUS *** 1070 gosub 940 1075 if f = 0 then 1090 1080 return 1085 rem *** PIT *** 1090 if l = l(3) then 1100 1095 if l <> l(4) then 1120 1100 print 'YYYYIIIIEEEE . . . FELL IN PIT' 1105 f = -1 1110 return 1115 rem *** BATS *** 1120 if l = l(5) then 1130 1125 if l <> l(6) then 1145 1130 print 'ZAP--SUPER BAT SNATCH! ELSEWHEREVILLE FOR YOU!' 1135 l = fna(1) 1140 goto 1045 1145 return 1150 end[/spoiler] | labelimagesubject |
Bagels | People's Computer Company (The Lawrence Hall of Science.) | 1972 | Source: http://www.bitsavers.org/pdf/dec/_Books/101_BASIC_Computer_Games_Mar75.pdf***Bagels is a mastermind game where the player must guess the computer's code. Codes consist of three numbers. After each guess of the player, the computer answers fermi (one digit is at the right position), pico (one digit is in the code but on a different position), or bagels (none of the digits are correct). The goal is to guess the number in as few tries as possible, so players must use the answers to infer the right code. | labelimagesubject |
Poetry | Digital Equipment Corporation | 1973 | POETRY: This program will randomly choose a singlet, couplet, or quatrain from a set of 23 preset PRINT statements. It spaces at random intervals, but ends at approximately the same point each time. There is a low likelihood of duplication of lines. POET: This program produces random verse which might loosely be considered in the Japanese Haiku style. It uses 20 phrases in four groups of five phrases each generally cycling through the groups. It inserts commas (random--19% of the time), indentation (random--22% of the time), and starts new para- graphs (18% probability, but at least every 20 phrases). The version of POET published has phrases suggestive of Edgar Allen Poe. Try it with phrases from computer technology, from love and romance, from four-year-old children, or from some other subject | labelminimizesubject |
Super Star Trek | author | 1973 | Most of the code was written in 1973-1974. At that time, the game was just called "Star Trek"; the "Super" was added by later developers | labelminimizesubject |
DND | University of Illinois (Digital Equipment Corporation) | 1974 | DND is a role-playing video games developed by Purdue University student Daniel Lawrence in 1977 for the Digital Equipment Corporation (DEC) PDP-10 mainframe computer. The name DND is derived from the abbreviation "D&D" from the original tabletop role-playing game Dungeons & Dragons. It was later ported to several other computer systems and languages. After Lawrence re-used code from the game in the 1982 role-playing game Telengard, DEC ordered DND be removed from their computers to avoid litigation by Telengard's publisher. DND was one of the earliest role-playing video games, as part of a set of games developed in the 1970s based on the 1974 Dungeons & Dragons. DND was one of the earliest role-playing video games, which began to appear around 1975, and like DND were largely based on Dungeons & Dragons (1974). Lawrence re-used some of the code for the game for the 1982 role-playing game Telengard. This led to DEC ordering DND to be removed from all DEC computers in September 1983 to avoid litigation from Telengard's publisher, Avalon Hill. Due to the BASIC source code availability, the game was later ported and adapted to newer systems and programming languages. One such port was to MS-DOS in 1984 by R.O. Software, which sold the game under a US$25 shareware license without first seeking permission from Avalon Hill or Lawrence.***Actually for the PLATO system, written in the TUTOR programming language. An unofficial implementation of the Dungeons & Dragon ruleset. dnd takes a player into the many levels if Whisenwood Dungeon where there are many monsters and treasures. The ultimate treasures are The Orb and the The Grail. A roll your stats, choose your class and launch your character into an epic adventure. Take rest from the action. trade plunder to equip yourself better. Save your game and load it later. All the time learning how to make better use of the PLATO keyboard. dnd 8.0 was preceded by [game=#160119]pedit5[/game], [game=#160120]m199h[/game], and 7 major versions of dnd and is believed to be the third dungeon crawl/RPG made for the PLATO system. All of which were deleted from the PLATO system for being illicit games on computer system designed solely for education. Although, dnd 2.8 source code was printed out and at least a portion of it survives to this day. dnd 8.0 escaped the abyss and is now available for emulation. dnd version 5.4 also continues to exist and is available to play. The PLATO keyboard used the W, A, X, and D keys for UP, LEFT, DOWN, and RIGHT arrows and it had HELP, DATA, NEXT, and BACK keys. The game was finally allowed to stay on the system because its creators convinced administrators that it taught PLATO users how to use the special keys on the PLATO's keyboard. This wasn't as silly as it may sound. While programmers used the keys in a standard way, this standard wasn't common knowledge to end users. There was no training applications on the computer to explain the system either. Each application had to explain it every time, or not at all. The choice was to waste time and space on the same information every time or be extremely unfriendly to new users. Assigning functions to the special keys in a game was an efficient and intuitive way of training end users in their use, especially the 'arrow' keys. In a way, it was the forerunner of typing games and other games designed in whole or part to train users how to use hardware. PLATO computers where setup at 150 educational locations including high schools, grade schools and even a few made into private homes. dnd remained a popular game on the platform. It influenced the creation of other CRPGs, especially avatar, oubliette, baradur, moria, dndworld, bnd, and sorcery. dnd saw many improvements until the last functioning PLATO computer was switched off for good in 1995. The US military operated for a time after this but no games werer available on it. Due to a unique quirk of history, dnd was the first CRPG to ever be viewed on a flat screen display, it also happened to be a plasma display, another first. And if that wasn't enough firsts, the PLATO could be connected to a standard TV. But wait, there's more, it also was the first to use bitmapped graphics, rather than displaying memory directly, which the Plato could also do, and it was capable of vector display. Thus they were not only before Nintendo with VRAM, but also before Alpex by using a TV to display games. And there's still more, a microfiche rear projection system was built into the display, color images could be used as back grounds. And did I mention the PLATO had a touch screen interface? But, the most important innovations were unique to the dnd game and not the platform. dnd was the first game to have shops where players could buy items, weapons, armor, and potions. The player would encounter stronger monsters as they advanced in the game, and get better treasures. This attempt to replace the dungeon master with a computer algorithm was the beginnings of adaptive AIs for games. The concept of the teleporter was introduced to games by dnd. For the first time, different types of monsters where venerable to different types of attacks. Also introduced were bosses and mini-bosses, that is, extra high level enemies guarding important treasures, the entrances to levels and of course the orb itself [spoiler]was guarded by a Dragon, who was in turn, guarded by minions.[/spoiler] The player was not trapped in the dungeon. Leaving the dungeon was a chance to recuperate, buy supplies and save the game. Another innovation was placing the gameplay within the context of a [b]complete[/b] story. Instead of just having a setup, the story had a beginning, middle, climax, denouement and end. NPCs were added, developed and also removed as part of the story. Story content included humor and irony for the first time in a game. There was a DECSystem-10 version in BASIC for the TOPS-10 There was also a PDP-11 version written for RSTS/E and a DECSystem-20 version for TOPS-20; both by Daniel Michael Lawrence. Both of these were ports (real ports) from the DECSystem-10 (PDP-10) version. [Zerothis] | labelminimizesubject |
Star Trader | People's Computer Company (author) | 1974 | A futuristic mercantile simulation. In the year 2070 the player must travel between colonized worlds with different levels of development to buy and sell goods with the aim of turning a profit. The player must haggle for the best prices. The galaxy slowly evolves as colonies grow more sophisticated and supply and demand of goods changes. Money can be put in the bank where the player can gain interest, but not all planets have banks to withdraw from. The game features a world map of 10 by 10 light-years, centred around Sol. The planets further away have more raw resources and those closer by produce more advanced goods, but rely on raw resources, which is where the player comes in. https://wiki.classictw.com/index.php/Star_Trader***This game has several a very notable feature for its day. One of which was having the choice a male of female captain and male and female crew members within a military setting. And, this had realistic effects within the society depicted (pros and cons depending on ratio or single-sex choice). Also, a valuable resource within the game was computer software. The design of the game necessitates that the computer software was bought and sold as source code as computer hardware was not (each planet created their own hardware to run the code). It might be unique for offering computer software/source code as a non-copyrighted commodity (as if it were like metal or uranium). The game was very much in keeping with the publisher's views on computers being a learning tool, used to improve social justice, and the importance of morality in computer use. PPC maintained the view that computer code should not be copyrighted. And all this was years before Net Neutrality and the Free Software Foundation. Among other things one might not expect is the issue of ownership of the captain's spacecraft, issues with unions, and illegal immigration. The code came with lists of suggestions for tweaking the game and adding features along with conciquencies. For instance, they suggest adding the ability of the captain and crew to engage in piracy (not of the software kind obviously) and implement penalties. Have competing superpowers (The captain and crew are from the game's single superpower planet). Politically and economically motivated embargos (and the evitable conflicts, that can include nuclear warfare). Ship-to-ship trading, and issues on what each planet's government thinks about that (ship-to-ship is tax free? Taxed, by who and how is that traced?). Implement ship durability and/or fuel efficiency along with the option of exceeding specs (top speed and fuel efficiency are static in the game, there is no reason to go any slower). The economy model of the game is Macro-economic with few fully developed members and many developing members growing and producing at different rates, a single merchant type that carries any inexhaustible resource. It is suggested to use a different economy model with various merchant types and exhaustible resources. The economy suggestions are the only ones accompanied by details about the actual code in need of change. The publisher asks players where pirates get their fuel (most games ignore such details, pirates are an economic factor in this game rather than a mere hazard). | labelimagesubject |
Abase | People's Computer Company | 1974 | Abase is a number guessing game with an educational twist. Instead of picking a number using standard base 10 numbers, the player can pick a base and the computer will think of a number in that base. It's up to the player to guess it. After each guess the computer will tell the player if it was too high or too low. When the number is correctly guessed the player is told how many guesses it took. | labelminimizesubject |
Bulls & Cleots | People's Computer Company | 1974 | Mastermind game. Both the player and the computer think of a n-letter sequence of letters without duplicates. And take turns taking guesses. Answers are given in bulls (a correct character in the correct spot) and cleots (correct character but wrong spot). | labelminimizesubject |
Alphabetsoup | People's Computer Company | 1975 | Alphabetsoup is a letter guessing game. The computer thinks of a letter and the player must guess it. After each guess the computer will give a hint which will narrow down the player's choices. Hints include whether it's a vowel or consonant, whether it has closed loops or legs. | labelminimizesubject |
Craps | Scientific Research Inst. | 1977 | This program simulates a crap game. The computer rolls the dice and keeps score. In this simulation the computer is one of the two players, you are the other player. For hard way rolls the computer gives you the hard way odds but does not accept hard way bets. You may bet against yourself or the computer if you don't think the point will be made. | labelminimizesubject |
Sky Diver | Scientific Research Inst. | 1977 | Sky Diver is a simulated parachute jump on any planet. | labelminimizesubject |
Swarms | Creative Computing | 1977 | labelminimizeminimize | |
Animals Four | Scientific Research Inst. | 1977 | labelminimizeminimize | |
Astronaut | Scientific Research Inst. | 1977 | labelminimizeminimize | |
Bagel | Scientific Research Inst. | 1977 | labelminimizeminimize | |
Bio Cycle | Scientific Research Inst. | 1977 | labelminimizeminimize | |
Cannons | Scientific Research Inst. | 1977 | labelminimizeminimize | |
Checkers | Scientific Research Inst. | 1977 | Checkers is a simple implementation of the classic board game in BASIC. The player plays against the computer, moving pieces diagonally and jump over the opponent's pieces to remove them from the game. The rule that lets players do multiple jumps in one turn is omitted. | labelminimizesubject |
Dogfight | Scientific Research Inst. | 1977 | labelminimizeminimize | |
Golf | Scientific Research Inst. | 1977 | Golf is a text-based golfing game for multiple players. Each turn the player must choose a club which makes the ball go closer (or further) from the hole. The distance is randomly generated based on the club used. There are 9 different clubs that can be used. | labelminimizesubject |
Judy | Scientific Research Inst. | 1977 | labelminimizeminimize | |
Line Up | Scientific Research Inst. | 1977 | labelminimizeminimize |